Skip to content

[upstream-sync] Merge current Paradigm Centaur with TipLink compatibility - #76

Merged
GoonMachine merged 201 commits into
mainfrom
codex/upstream-sync-20260711
Jul 13, 2026
Merged

[upstream-sync] Merge current Paradigm Centaur with TipLink compatibility#76
GoonMachine merged 201 commits into
mainfrom
codex/upstream-sync-20260711

Conversation

@fineas-bot

@fineas-bot fineas-bot Bot commented Jul 11, 2026

Copy link
Copy Markdown

Outcome

Merge current Paradigm Centaur into the TipLink fork while deleting compatibility code that the new upstream architecture supersedes. This is a source-only merge: merging this PR does not publish images or change the live deployment.

Pair this PR with TipLink/fineas-centaur-overlay#311. Do not use #78 except as rollback material.

Frozen source

  • Paradigm source: f3a4a4f
  • Reviewed PR head: 0fd1735
  • Reviewed tree: 28b2e55f7b0a2642856b7404ad49e06de125023b
  • The branch is not behind Paradigm main as of the final audit.
  • Includes the upstream Console optimistic-chat fix and company-context documentation.

What was removed

  • Custom ctx.start_workflow plumbing.
  • Attempt-scoped implicit workflow sessions and task-wide cleanup scanners.
  • The unused session.delivery_completed receipt API and its cross-repo verifier path.
  • The self-scoped debugger is deliberately retired; upstream did not replace it, and its direct database credential/Python authorization model is not worth carrying forward.

What remains TipLink-specific

These protections are independent of the upstream workflow architecture:

  • Owner-fenced sandbox release and host-side abandoned-sandbox cleanup.
  • Workflow-task capability tokens and ambient-secret stripping.
  • Slack authorization, model/runtime, and MCP catalog fences.
  • Render obligations, fallback delivery, terminal reconciliation, generic session events, stream annotations, and vlogs/thread tracing.

Compatibility verification

The exact core + overlay composition was tested with:

  • 20 workflows, with no duplicate names.
  • 19 tools, with all 19 help smokes passing.
  • 260 affected Rust package tests.
  • 171 Slackbot tests passing and 1 skipped, plus typecheck.
  • API client, workflow, session-cleanup, API-tool, host, and prompt test suites.
  • Exact-head CI, Console CI, and image validation passing.

The paired overlay preserves Fineas public Slack RTS search, exact-channel JWT private access, Attio, Notion, Google Workspace, and the existing workflow/tool catalog.

Immutable reviewed artifacts

Tag:
reviewed-images-publish-0fd1735da56d820a4ef12ef525f745f5136fabb1-at-1783968967

Publication:

  • Run 29276476841
  • Artifact 8290184527
  • Archive sha256:a8ce4469fc13d9be707cce5b0f23cc0885964e9b9d3b95b472c5ca80f66e8b3f
  • Descriptor 296d121eaaab53f69ef6887b80cefcbf7a14f6e29c41a47db86ca19fd08219d3
  • API arm64 sha256:b17ed2200b2e89fb77647762acdfb19ebee31ab2661371570b72d6d3bcac0440
  • Slackbot arm64 sha256:8995fcfed376dc7bd7d98680eed6bd111b7c303ea6ec9b9e1cb44a0dd0adc0bc
  • Sandbox arm64 sha256:8579213db1b0a7805fbb34939ac3859863a262c6add7104269b9e30fb61c72bf
  • Iron arm64 sha256:ed370b8ee0142c9fe90ca5ad4deca565f59f1cb531ab92577a133474a483718d
  • Console arm64 sha256:9c637c48aef0cc271453d0c2de9f078240a0f06cbe270ce22b66db92d3d548ed

Each registry image was independently verified as a runnable linux/arm64 child with OCI revision 0fd1735.

Merge boundary

mslipper and others added 30 commits June 28, 2026 20:39
* refactor: route tool shims through centaur-tools

* refactor: keep centaur-tools run as cli runner
* fix slackbot best-effort handoff waits

* reuse slack API timeout config

* centralize slack timeout wrapper
feat: expose tool cli args in analytics
* fix: expose etl toggles under apiRs values

* chore: bump chart version to 0.1.80
fix slack event file attachments
Generate a short GPT-backed title when the first user message is appended.

Store titles on sessions and expose them in session context responses.
Closes paradigmxyz#640

Co-authored-by: Amp <amp@ampcode.com>
* fix: default sandbox timeout policy

* fix: rely on sandbox max lifetime reaping

* docs: clarify sandbox lifecycle timers

* fix: prune stale warm sandboxes before replenishing

* fix: prune stale warm sandboxes across workloads

* fix: preserve idle pause deadlines after restart

* refactor: simplify idle cleanup candidate query
Co-authored-by: Centaur AI <ai@centaur.local>
* fix: restrict non-observability sandbox egress

* fix: whitelist observable cluster egress explicitly

* fix: allow in-cluster database egress

* fix: tighten restricted sandbox egress review gaps

* fix: use configured control plane network peer

* fix: keep restricted blocklist observability scoped

* fix: allow direct victoria observability egress

* fix: configure sandbox observability egress explicitly

* fix: derive observability egress from endpoints

* fix: avoid hardcoded observability endpoints

* fix: allow sandbox egress to api pods
…digmxyz#870)

Replayed the summary pipeline over five real threads (stg + prd) and
found the deployed prompt produces one vague goal-restating status per
thread: it steers the model toward the session goal, and the specific
summaries it does write usually land at 46-52 characters, where
sanitize_summary silently discards them (19 of 35 attempts).

Two prompt changes, validated by replaying the same threads:

- Describe the current step or latest finding instead of the overall
  session goal, with concrete example phrasings.
- Target 40 characters and state the 45-character hard limit so the
  model cuts words instead of overflowing.

Published summaries went from 14/35 attempts to 27/35, too-long
discards from 19 to 3, and the output narrates actual progress
("I found forge-std is vendored, not submodule", "I'm blocked on
tempo-obs metrics 502") instead of repeating "I'm checking X".

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
The authorized drain test permanently fences the API process, so run it after all execution, workflow, and metrics assertions.
@fineas-bot
fineas-bot Bot marked this pull request as ready for review July 12, 2026 01:03
@fineas-bot
fineas-bot Bot marked this pull request as draft July 12, 2026 01:24
fineas-bot Bot added 3 commits July 12, 2026 09:36
Ports the audited TipLink runtime, config, tooling, alias, and Slack-normalization carry-forwards onto the reviewed upstream integration tree.
Make the baked core harness authoritative, prove Fineas overlays retain provider and trust blocks, and probe both real packaged provider routes without network access.
Bind publication to the exact verified PR head and green non-CodeQL checks, serialize package writes, publish by digest, refuse existing tags, and prove descriptors identify this run's runnable arm64 children. CodeQL baseline is unchanged.
@fineas-bot
fineas-bot Bot marked this pull request as ready for review July 12, 2026 15:01
@fineas-bot

fineas-bot Bot commented Jul 12, 2026

Copy link
Copy Markdown
Author

Retriggering the exact audited head after a transient BuildKit cache miss in the amd64 agent validation job; no source or tree change. CodeQL remains an explicitly ignored inherited baseline.

@fineas-bot fineas-bot Bot closed this Jul 12, 2026
@fineas-bot fineas-bot Bot reopened this Jul 12, 2026
Semantic port of approved PR #68 to the current HTTP-secret schema, with exact manifest translation and documentation regressions.
@fineas-bot fineas-bot Bot mentioned this pull request Jul 12, 2026
@GoonMachine
GoonMachine merged commit c77dec9 into main Jul 13, 2026
69 of 70 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.