Skip to content

tooling: the type generator names the record and says what a type cannot; capabilities.tool_args; vectors from the reference - #34

Merged
datajace merged 4 commits into
mainfrom
fix/1.2.1-generator-and-capabilities
Oct 6, 2026
Merged

datajace merged 4 commits into
mainfrom
fix/1.2.1-generator-and-capabilities

Conversation

@datajace

@datajace datajace commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Found by pinning the harness to 1.2.0 (spec contract-batch-two-implement-all task 8.3, COGDEV-268). Goes out as 1.2.1.

  • generate-contract-types.mjs: reads *.schema.json only (it tripped over schemas/index.json); lease-record has a type name; every keyword a TypeScript type cannot express (allOf with if/then, propertyNames, pattern, the bounds, …) is listed in the generated header with a count and an example site instead of being dropped silently.
  • capabilities.tool_args on both plugin schemas: the lease allow shape property for property, now that allow carries tool_args. Additive (guard against v1.2.0: 0 tightenings).
  • conformance/narrowing-vectors.json regenerated from the reference implementation with tool-args-dropped as a case; 1.2.0's hand-written vector lacked the diff the generator records and sat last.
  • lease-record.revoked-by-issuer fixture reason reworded off the word the harness's corpus hygiene test bans.
  • CHANGELOG [Unreleased] Fixed.

🤖 Generated with Claude Code

datajace and others added 4 commits October 6, 2026 07:26
…s what a type cannot; capabilities.tool_args; vectors from the reference

Found by pinning the harness to 1.2.0: generate-contract-types.mjs read
schemas/index.json as a schema and had no name for lease-record; it also
dropped every keyword TypeScript cannot express without a trace, which the
second review named. The generated header now lists them. capabilities on both
plugin schemas gains tool_args so it stays the lease allow shape property for
property. The narrowing vectors are regenerated from the harness (the
tool-args-dropped vector was hand-written in 1.2.0). One fixture reason
reworded off a banned marker word.

Spec contract-batch-two-implement-all task 8.3, DR-183, COGDEV-268.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Jason Cruz Falzon <jason@cognitivedelivery.co.uk>
The harness's corpus hygiene test bans the marker "bearer " in any fixture,
and the valid fixture's documented `Authorization: Bearer ${TOKEN}` form hit
it. A whole-value interpolation shows the same thing without the marker; the
invalid fixtures keep their deliberately credential-shaped literals.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Jason Cruz Falzon <jason@cognitivedelivery.co.uk>
…n key

The harness's corpus hygiene test bans the marker in valid fixtures; custom
header names show the same interpolation form.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Jason Cruz Falzon <jason@cognitivedelivery.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Jason Cruz Falzon <jason@cognitivedelivery.co.uk>
@datajace
datajace merged commit edd380c into main Oct 6, 2026
10 checks passed
@datajace
datajace deleted the fix/1.2.1-generator-and-capabilities branch October 6, 2026 06:30
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