feat(m7.5a): TypeScript progressive disclosure + conformance parity - #31
Merged
Conversation
The cross-language parity gate: the full shared conformance suite now passes in
TypeScript, mirroring Python and Go.
- disclosure.ts: dual progressive disclosure (§2.12) — above 12 registered
capabilities the model sees only a constant-size search_capabilities tool instead
of the whole registry; matches are exposed and become directly callable. A
SchemaIndex, when attached, is reachable only via search_schema. Keyword
tokenize/score, exposed-match tracking, and a collision guard, all mirroring the
Python and Go ports so the base-context behavior is language-neutral.
- loop.ts: discovery calls are answered inline — harness-internal reads that are
never gated and allowed under ask(); the model.complete tool surface now comes
from Disclosure.tools(). Agent config and RunOptions gain schema/defer.
- tests/conformance.test.ts: the TS adapter for spec/conformance/cases — loads the
same language-neutral YAML (js-yaml, a test-only dep), drives the TS harness with
a scripted FakeModel, and asserts each case's expect block. Passes all 13 neutral
cases (linter + golden), skipping only the {program} code-mode case, whose step
carries Python source (a language-specific dialect, contract §7.5) — TS code-mode
will be validated by native tests.
- disclosure.test.ts: deferral threshold, search exposing matches, schema search,
empty-query and no-match hints, and the discovery-tool name collision.
- README/roadmap: TypeScript now listed as passing the shared conformance suite.
Verified: make js-check green — format, typecheck, 111 tests (110 pass, 1 skip).
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.
The cross-language parity gate: the full shared conformance suite now passes in TypeScript, mirroring Python and Go.
Verified: make js-check green — format, typecheck, 111 tests (110 pass, 1 skip).