Repository navigation
Add shared-schema TypeScript Console, API and CLI slice - #1844
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the isolated full-stack TypeScript prototype slice under Spec #1831. The diff also includes #1836's inherited Ticket prototype and affected-test routing. The Console uses separate seeded prototype state and one local bearer token; the README documents its limits and setup.
Closes #1839
Evidence
Execution evidence
Before:
PATH="$HOME/.bun/bin:$PATH" bun test --cwd prototypes/typescript tests/console.test.tsfailed the new compiledstatus --jsontest: expected empty stderr, receivedInvalid URL;0 pass, 1 fail.After: the same command passed
4 pass, 0 fail, 61 expect() calls, including HTTP/CLI parity, required scopes, OpenAPI route parity and Playwright.Final prototype validation after the review fix:
PATH="$HOME/.bun/bin:$PATH" scripts/affected-tests a6b37d45passedtsc --noEmitand all20Bun tests (163assertions,35.25sfor the test command).PATH="$HOME/.bun/bin:$PATH" scripts/affected-tests issue-1831: typecheck and all 20 prototype tests passed. The initial Rust run compiled in5m 04s, passed1,657unit tests, then failed the existingsettlement::historical_review_and_reclosed_origin_regressionsfixture withModuleNotFoundError: No module named 'tomllib'under default Python 3.9. The corrected affected-test run, with Python 3.12 first on PATH andRUST_TEST_THREADS=3, passed typecheck, all 20 prototype tests, all 1,657 Rust unit tests and the previously failing issue-origin suite (18 passed). Once CI passed on this exact head, the overlapping local integration run was intentionally stopped and the successful CI reused, asdocs/testing.mddirects. The initial cold local Rust attempt took882.97s, compilation included, before the Python environment failure.python3 -m unittest discover -s scripts -p 'test_*.py'with Python 3.12 first on PATH:Ran 37 tests in 19.882s,OK. The default Python 3.9 failed three existing release-generator checks because it lackstomllib; rerunning under 3.12 passed.CI run 42292544695: SUCCESS on
a59a9bfdae0eb239fcc37c7089572ea4c7e472a3. Full Rust suite, formatting, Clippy, release-generator, site and Console checks passed; the conditional ARM job was skipped.Test seams: compiled CLI JSON output and durable Dismissal/Undo; authenticated HTTP routes and generated OpenAPI parity; rendered Inbox interactions in Playwright. The executable tests remove Bun from PATH.
Visual evidence
Before captures show the browser's connection-refused page: the unpatched prototype had no Console listener. After captures show the same Inbox flow after Dismissal, reload and Undo, with synthetic status rows.
Desktop · 1440×900
Mobile · 390×844
Review coverage
Independent
thirdshift-code-reviewaxes usedissue-1831(305923a8) as the fixed point. Standards raised one P3 test-setup duplication finding, fixed by the sharedtests/binary.tshelper and confirmed in follow-up. Spec raised zero findings. Both axes read all 24 changed files; no changed file was left unread and no generated output was excluded. Session reports arestandards.md,spec.md, andsummary.jsonin.thirdshift-review-WJU00q/({"standards":1,"spec":0}).Unaddressed findings
Standards
None. The sole finding was addressed in a59a9bf.
Spec
None.
Security
None.
Security review outcome
No unaddressed introduced findings.
CI notes
site/tree and.github/workflows/ci.ymlare identical toissue-1831at0415c236(treeef0ca08966ebba0618b2c675c61b28f2b5d2a61b, workflow blobb82bef2f84c8dd01a41d7e789b3a6fa557111d92). Localnpm test --prefix sitepassed all 67 tests (87.10s);PATH="$HOME/.bun/bin:$PATH" scripts/affected-tests origin/issue-1831passed typechecking and all 40 prototype tests (243 assertions). No source changes or CI re-run requested.Merge Danger
Door: two-way
Revert the isolated prototype and test-selection changes; production Rust behavior is unchanged.
Blast Radius: prototype
Prototype tests now require Chromium. Console state and tokens are separate from production, with single-writer state and local-only authentication documented in the prototype README.
Built with codex codex-cli 0.160.0 · gpt-6.1-sol · high