Skip to content

refactor(contracts): delete retired wire aliases after cutover - #1501

Closed
ScriptedAlchemy wants to merge 2 commits into
codex/tracedecay-total-redesign-plan-reopenedfrom
cursor/migrate-callers-delete-legacy-apis-0ac8
Closed

ScriptedAlchemy wants to merge 2 commits into
codex/tracedecay-total-redesign-plan-reopenedfrom
cursor/migrate-callers-delete-legacy-apis-0ac8

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

Summary

Findings (migrate-callers-then-delete-legacy-apis)

Fixed in this PR:

  • tracedecay_similar / tracedecay_redundancy still decoded the shipped pre-family request shapes only to reject them (Legacy*RequestV1 + untagged wire enums, plus limit / max_pairs aliases). Internal callers already send result_limit / family_limit. Retired shapes now fail as ordinary invalid requests. The unreleased catalog window protocol revisions 1..=2 is collapsed to the current revision (1..=1), matching every other binding.
  • CallChainPrimitiveRequest still accepted unreleased from_id / to_id / max_depth aliases. No caller sent them. Aliases are deleted; tests assert they are rejected.
  • SymbolPrimitiveRecord carried both one-based line/end_line and zero-based rows “retained for compatibility adapters.” Construction sites already emit the one-based lines. Zero-based wire fields are deleted.
  • StoreTelemetryEntryV1.role was a singular duplicate of roles on an unreleased dashboard contract. The observatory caller now reads roles only, and role is removed from the generated contract.

Absorbed from the tip (already fixed there; still compiling here):

  • ChangedCodeChunkSetV1 no longer has a reused chunk list. Projection receipts use reused_count / reused_digest.
  • Branch publication treats CodeIndexDemandAdmissionV1::NotApplicable as a typed identity mismatch, and the duplicate unreachable arm is gone. Terminal publication park stays a typed failure.

Left in place (not this wave):

  • Shipped external host wire aliases (hook camelCase, daemon socket_path, MCP id fallback for node_id). Those are independently released protocols, not internal caller leftovers.
  • /api/storage/findings is a family projection with kind_statuses that current dashboard callers still use. Folding it into /api/doctor/findings would be a second product cutover, not a delete-after-migration.

Test plan

  • cargo test -p tracedecay-contracts --lib filters: retired similar/redundancy shapes, call-chain aliases, unknown symbol fields
  • cargo test -p tracedecay-contracts --test contracts_suite current protocol revision only
  • cargo test -p tracedecay-dashboard-api --lib shared-store telemetry roles
  • cargo check -p tracedecay-code-index-runtime -p tracedecay-mcp -p tracedecay-application -p tracedecay-query
  • cargo test -p tracedecay-mcp --lib --no-run and clone_lanes_report_one_unavailable_wire_protocol
  • branch_publication_requires_authoritative_project_identity
  • mid_wait_branch_publication_surfaces_terminal_publication_park
  • cargo test -p tracedecay-query --test canonical_execution_equivalence --no-run
  • cargo nextest run --workspace not run
Open in Web Open in Cursor 

Internal callers already use the current similar, redundancy, call-chain,
symbol-line, and storage-telemetry contracts. Drop the unused compatibility
shapes instead of keeping them as tombstone decoders or duplicate fields.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 2538f4a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@ScriptedAlchemy

Copy link
Copy Markdown
Owner Author

Integrated or superseded directly on the #707 branch at ff36c4f; follow-up compile/typecheck regressions were fixed on that branch.

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.

2 participants