Skip to content

feat(catalog): v1.3 — seed exemplars for input-shape, output-shape, ipc-rpc - #86

Merged
Joncik91 merged 1 commit into
mainfrom
v1.3-catalog-seed
May 15, 2026
Merged

feat(catalog): v1.3 — seed exemplars for input-shape, output-shape, ipc-rpc#86
Joncik91 merged 1 commit into
mainfrom
v1.3-catalog-seed

Conversation

@Joncik91

Copy link
Copy Markdown
Owner

Summary

  • Adds six new catalog exemplars across three new view types (input-shape, output-shape, ipc-rpc), so that §9/§10/§12 view sections can bind real exemplars instead of deferring to post-ship-iteration.
  • Updates _VIEW_TO_CATALOG_TYPES in cross_view_gate.py to map §9 → input-shape and §10 → output-shape (removing the help-text placeholders that existed because no exemplars were available), and adds ipc-rpc to §12 alongside api-shape.
  • Every convention in every exemplar traces directly to a canonical source URL cited in frontmatter — no invented conventions.

Why this matters

In order to give operators real exemplar options for input and output shape views, the catalog needed seeded entries. Without them, every §9 and §10 binding is forced into post-ship-iteration deferral with reason no-compatible-exemplar. The six exemplars here provide coverage for the most common input patterns (POSIX/GNU CLI args, OpenAPI request bodies) and output patterns (JSON-RPC 2.0 responses, OpenAPI response envelopes) and IPC channels (UNIX socket RPC, subprocess stdin/stdout RPC).

Files changed

  • docs/exemplars/input-shape/cli-argparse-shape.md — POSIX §12 + GNU Coding Standards
  • docs/exemplars/input-shape/openapi-request-body.md — OpenAPI 3.1.0 Request Body Object
  • docs/exemplars/input-shape/axes.yml — arg-style, optionality, separator-support axes
  • docs/exemplars/output-shape/json-rpc-response-2.0.md — JSON-RPC 2.0 response envelope
  • docs/exemplars/output-shape/openapi-response-envelope.md — OpenAPI 3.1.0 Response Object
  • docs/exemplars/output-shape/axes.yml — envelope, success-error-split, schema-binding axes
  • docs/exemplars/ipc-rpc/unix-socket-rpc.md — AF_UNIX SOCK_STREAM + newline framing
  • docs/exemplars/ipc-rpc/subprocess-rpc.md — stdin/stdout JSON-line protocol lifecycle
  • docs/exemplars/ipc-rpc/axes.yml — transport, framing, lifecycle axes
  • bin/cross_view_gate.py_VIEW_TO_CATALOG_TYPES updated for §9, §10, §12
  • tests/test_catalog_seed_v1_3.py — 9 new tests (presence, parse, validate_catalog, fingerprint validation)
  • tests/test_v1_1_e2e.py — deferral-reason assertion updated to reflect §9 now having compatible exemplars

CHANGELOG note

A v1.3 CHANGELOG entry covering items 8, 9, and 10 will be added in the v1.3 release commit alongside the marketplace.json bump.

Test plan

  • pytest tests/test_catalog_seed_v1_3.py -v — 9 tests, all pass
  • pytest tests/ — full suite passes (1976 tests at time of PR)
  • validate_catalog() returns no errors with all six new exemplars loaded
  • Each exemplar's calibrated-for values are confirmed to be in _ALL_FINGERPRINTS
  • _VIEW_TO_CATALOG_TYPES maps §9 → input-shape, §10 → output-shape, §12 includes ipc-rpc
  • test_v1_1_e2e.py updated assertion passes — §9 now has compatible exemplars so both deferrals are operator-deferral

🤖 Generated with Claude Code

…-rpc

Six new exemplar files across three new view-type directories:
- docs/exemplars/input-shape/cli-argparse-shape.md: POSIX short-option
  grouping, GNU long-option conventions, -- separator (sourced from POSIX.1-2017
  §12 and GNU Coding Standards).
- docs/exemplars/input-shape/openapi-request-body.md: JSON content-type
  binding, JSON Schema 2020-12 alignment, nullable keyword removal (sourced
  from OpenAPI 3.1.0 spec).
- docs/exemplars/output-shape/json-rpc-response-2.0.md: jsonrpc/id/result|error
  exclusive union, reserved error code range, batch response correlation
  (sourced from json-rpc.org 2.0 spec).
- docs/exemplars/output-shape/openapi-response-envelope.md: HTTP status map,
  wildcard keys, default key semantics (sourced from OpenAPI 3.1.0 spec).
- docs/exemplars/ipc-rpc/unix-socket-rpc.md: AF_UNIX SOCK_STREAM, newline-
  delimited framing, O_CLOEXEC and SIGPIPE disciplines (sourced from POSIX
  bind(2)).
- docs/exemplars/ipc-rpc/subprocess-rpc.md: stdin/stdout JSON-line protocol,
  EOF shutdown, deadlock avoidance, SIGTERM/waitpid lifecycle (sourced from
  POSIX waitpid(2)).

Three new axes.yml files defining axes for each view type.

Catalog plumbing:
- bin/cross_view_gate.py: _VIEW_TO_CATALOG_TYPES updated — §9 → {input-shape},
  §10 → {output-shape}, §12 → {api-shape, ipc-rpc}. Removes the help-text
  placeholders that were documented as interim until v1.1/v1.3 shipped.
- tests/test_v1_1_e2e.py: updated the deferral-reason assertion to reflect that
  §9 now has compatible input-shape exemplars (human-typed), so both deferrals
  are operator-deferral and excessive-post-ship-iteration fires (2 > 1).

9 new tests in tests/test_catalog_seed_v1_3.py. Full suite: 1976 passed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Joncik91
Joncik91 merged commit 562e3b6 into main May 15, 2026
2 checks passed
Joncik91 added a commit that referenced this pull request May 15, 2026
…ype (#88)

Minor release composing three Wave 2 PRs (#85, #86, #87) plus a small
walker-side plumbing fixup surfaced by the Wave 3 Opus aggregate review.

- Plugin marketplace bump 1.2.1 → 1.3.0 (both metadata.version and
  plugins[0].version)
- README badges: test count 1967 → 2003, version 1.2.1 → 1.3.0
- README components line: v1.2 → v1.3
- CHANGELOG entry summarizing item 8 (catalog seed), item 9 (vocab
  fail-soft with block firewall), item 10 (layer5 prototype), and the
  walker fixup
- bin/walker.py: _VIEW_TO_CATALOG_VIEW_TYPE realigned so product-input
  routes to input-shape and product-output routes to output-shape, the
  exemplar-options call site queries input-shape instead of help-text,
  and the input-exemplar-pi concern prompt references the input-shape
  view type instead of the v1.1 placeholder language. The walker's
  binding-suggestion path and the cross_view_gate's validation path now
  query the same catalog view types.

No spec contract changes — v1.0/v1.1/v1.1.1/v1.2.0/v1.2.1 locked specs
continue to validate.

2003 tests passing (1967 v1.2.1 baseline + 36 across the three v1.3
PRs). Zero regressions.

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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