Skip to content

refactor: project goal routes in the existing planning batch - #8123

Draft
hhyykk wants to merge 2 commits into
mainfrom
codex/goal-route-projection
Draft

hhyykk wants to merge 2 commits into
mainfrom
codex/goal-route-projection

Conversation

@hhyykk

@hhyykk hhyykk commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Move the complete read-only Goal-route projection into TypeScript and consume it through the existing work_item.action_portfolio.project planning batch.
  • Introduce the internal v1 planning packet request/result contracts while preserving the external goal_route_hint_v0 read-model shape and v0 compatibility.
  • Retire the Python route rule builder and task-override composer; retain existing shared codecs/alignment facts without a second production rule owner.
  • Preserve selection order, empty-versus-absent source semantics, task override behavior, and monitor/settlement/cadence cleanup.
  • Add Python adapter and TypeScript regressions, update canary profile selection and bilingual migration documentation, and fix the peer-continuation smoke test to inspect captured CLI output.

Validation

  • 214 focused Python tests passed.
  • 12 real CLI parity cases passed.
  • Focused TypeScript checks and review completed.
  • Full TypeScript run: 6,105 passed and 30 environmental failures. The failures passed individually in isolated reruns; the original aggregate run is not claimed as fully green.
  • Premerge canary passed with one inherited maintainability advisory.
  • Performance qualification remains pending. No latency improvement, complete end-to-end acceptance, or merge readiness is claimed.

Performance warning: unresolved readiness blocker

Matched 20-sample measurements found three p95 regressions:

  • SQLite current JSON: 879.85 → 975.16 ms (+10.83%, +95.31 ms).
  • SQLite current Markdown: 851.66 → 877.88 ms (+26.23 ms).
  • File durable Markdown: 583.29 → 618.80 ms (+6.09%, +35.51 ms).
    The other nine p95 cases improved. The regressions exceed the plan's owner-review thresholds (over 5% or an unexplained additional 25 ms). Attribution and owner review are still pending. This draft is not ready to merge; performance acceptance remains unresolved.

A follow-up with 20 paired, instrumented SQLite current JSON samples measured total p95 723.73 → 694.55 ms, planning RPC p95 1.294 → 1.797 ms, codec p50 0.494 → 0.533 ms, and unchanged RPC count. This follow-up does not explain the original tail regression and does not clear the failed performance gate or owner-review requirement.

Revision and scope

  • Published against main at 2ce6a5dcd8a5396f5d60312f37958e1b05d529ca.
  • Current published tree 34aad7682c7311f32851edcd0e00e9035cf2a194 exactly matches the local candidate including the bilingual evidence ledger update. The documentation-only follow-up commit is 1b6468f961b6d08b418e523cde210132e3a3b4bb; implementation is unchanged. Connector publication preserves content rather than local commit IDs.
  • The checked-in bilingual ledger now records the validation and unresolved performance evidence.
  • No persisted-state migration, execution/claim/lease permission, or new authoritative read API.
  • This PR is intentionally a draft. Merge is not authorized; outstanding performance gates and repository CI require review.

CI evidence

Checks are running on the documentation follow-up head. That head has DCO Sign-off failure (no certification added); dashboard-browser (2), chat-bundle-browser (2), and package-build conversation-history-recovery network-idle timeouts; and a chat-bundle-browser (3) disabled ZCode Start-button timeout. These are not passes.

The dashboard-browser (2) conversation-history-recovery network-idle timeout also occurs in the base PR #8110: base failure evidence. This supports a pre-existing failure diagnosis for that check, not a green result.

The ZCode disabled Start-button timeout also reproduces the failure on base PR #8110: base ZCode failure evidence. The preceding 503 is an expected negative-test response and is not established as the root cause. The pre-existing evidence does not clear either failed check.

A separate current-head dashboard-browser (3) failure exceeded the frozen 1-second loaded-lens switch budget: one sample was 1299.39 ms. The base PR #8110 job passed, but there is no matched performance baseline for these samples. This scenario uses mocked 200-item fixtures rather than the Goal-route RPC. Attribution remains unresolved; this failure is not attributed to an inherited issue. A one-time isolated job rerun is pending because GitHub rejects reruns while the containing workflow is still running. Current failure.

Move read-only goal-route projection into TypeScript, retire the Python rule owner, and preserve quota planning and CLI compatibility.

This branch has not been deployed

No deployments
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.

1 participant