Skip to content

feat(engines): GT-716 AC5 — the report and the page say the same thing about each engine's coverage - #799

Open
beyondnetPeru wants to merge 3 commits into
developfrom
feat/gt-716-report-and-page
Open

beyondnetPeru wants to merge 3 commits into
developfrom
feat/gt-716-report-and-page

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

What

GT-716 AC5: the report and the page say the same thing. Closes the row.

The report. GOV-ENGINE-COVERAGE fires on either engine that skips more than it checks and states that run's coverage with its skips split by class — fact not supplied (needs-supplied-facts / supplied-facet-absent, with the facts.satellite remedy), adapter needed, documentation, engine debt — from a new RuleCoverage.skippedByEvaluability that travels into the JSON report. The sentence "a skip usually means the native evaluator has no handler" is gone: it was true of 14 rules and said of 240.

The page. docs/known-limitations.md / .es.md carry the same split per engine and scenario in a table 73-validate-engine-coverage-parity.mjs --write renders between engine-coverage markers from a coverage block it now records in the baseline. The default run fails when the measured coverage differs from the registered block and when the page's table differs from its render — the table cannot be typed. Observed: one number edited on the page turned the guard red naming the page; --write restored it.

Measured 2026-09-21 on the export:

Scenario Engine Decided Skipped fact not supplied adapter documentation engine debt
this repository native (default) 109 246 37 65 138 6
this repository --engine opa 28 327 146 1 138 42
satellite fresh from init native (default) 50 101 30 61 4 6
satellite fresh from init --engine opa 2 149 117 1 0 31

The front page says which reason remains: --engine opa has the most coverage on the published CLI (1.3.2), which predates GT-716; in the tree the default decides more on a bare run and --engine opa is for the facts the caller supplies — the one thing the native engine never decides. The demo asset stays: its rows are a verbatim 1.3.2 run.

Guard 68 measures the same export with --core (AC4's follow-up; lib/core-export.mjs shared with 73). CLI-EXIT-01/03 and GOV-RULE-NON-EXECUTABLE went stale — artifacts of the --core-less run — and one conflict remains, CLI-EXIT-02: cli-exit-code-taxonomy.rego fails on an absent fact document (core.cli.exitCodes) the tracked tree does not carry, while the native handler reads the source. Registered with its follow-up.

Verified locally

core-domain 2099 specs, CLI 1502, guard-73 unit tests 24, guard-68 9; guards 73, 68, 42, 43, 47, 01, 04, 66 green.

🤖 Generated with Claude Code

…g about each engine's coverage

The report. `GOV-ENGINE-COVERAGE` fires on either engine that skips more than it checks and states THAT
run's coverage with its skips split by class — fact not supplied (needs-supplied-facts / supplied-facet-absent,
with the `facts.satellite` remedy), adapter needed, documentation, engine debt — from a new
`RuleCoverage.skippedByEvaluability` that travels into the JSON report. "A skip usually means the native
evaluator has no handler" is gone: it was true of 14 rules and said of 240.

The page. `docs/known-limitations.md` / `.es.md` carry the same split per engine and scenario in a table that
`73-validate-engine-coverage-parity.mjs --write` renders between `engine-coverage` markers from a coverage
block it now records in the baseline. The default run fails when the measured coverage differs from the
registered block, and when the page's table differs from its render — the table cannot be typed. Observed:
one number edited on the page turned the guard red naming the page; `--write` restored it.

Measured 2026-09-21 on the export — this repository: native 109 decided / 246 skipped (37 / 65 / 138 / 6),
`--engine opa` 28 / 327 (146 / 1 / 138 / 42); satellite fresh from `init`: native 50 / 101 (30 / 61 / 4 / 6),
`--engine opa` 2 / 149 (117 / 1 / 0 / 31).

The front page says which reason remains: `--engine opa` has the most coverage on the PUBLISHED CLI (1.3.2),
which predates GT-716; in the tree the default decides more on a bare run and `--engine opa` is for the facts
the caller supplies — the one thing the native engine never decides. The demo asset stays (verbatim 1.3.2 rows).

Guard 68 measures the same export with `--core` (AC4's follow-up; `lib/core-export.mjs` shared with 73):
CLI-EXIT-01/03 and GOV-RULE-NON-EXECUTABLE went stale — artifacts of the `--core`-less run — and one conflict
remains, CLI-EXIT-02: `cli-exit-code-taxonomy.rego` fails on an absent fact document (`core.cli.exitCodes`)
the tracked tree does not carry, while the native handler reads the source. Registered with its follow-up.

core-domain 2099 specs, CLI 1502, guard-73 unit tests 24, guard-68 9; guards 73 / 68 / 42 / 43 / 47 / 01 / 04 green.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: aarroyo <beyondnet.peru@gmail.com>
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner September 21, 2026 23:20
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 6
  • New EN files needing ES translation: 2

Repository Coverage

Metric Value
Total EN files 527
Total ES files 497
Paired files 0
Coverage 0%

⚠️ Action required: 2 new EN file(s) added without ES counterparts.

To create skeletons:

node .harness/scripts/generate-es-skeleton.mjs <file.md>

Generated by GitHub Actions

@beyondnetPeru
beyondnetPeru force-pushed the feat/gt-716-report-and-page branch from d32d3e0 to ade22b6 Compare September 21, 2026 23:24
…e pull requests

Catalog (EN/ES): AC5 ticked with the report (GOV-ENGINE-COVERAGE on either engine, the per-class split),
the page (the table guard 73 renders and checks), the measurements, the front page's remaining reason,
guard 68 on the export and the falsifier observed both ways; status DONE; provenance names the five PRs.
Board (EN/ES): row note, status DONE, Last Updated; counters recomputed: 689 / 715 · 3 in progress ·
2 pending · 21 deferred. Derived chain replayed (guard 46 at a fixed point).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: aarroyo <beyondnet.peru@gmail.com>
@beyondnetPeru
beyondnetPeru force-pushed the feat/gt-716-report-and-page branch from ade22b6 to 7a7acf9 Compare September 21, 2026 23:26
…dByEvaluability`

Two CI catches on #799, both the same fact seen from two consumers of the report: the SDK wire-fidelity
table (`sdk-type-contract.types.ts`) enumerates every key `ValidationResult` may emit, and the interface
how-tos (`how-to-construction.md`, `how-to-qa.md`) are generated from real captures of it. The new
`skippedByEvaluability` (GT-716 AC5) is now declared in the table — optional, `Record<string, number>` —
and the how-tos are regenerated with `gen-howto.ts all`.

test:contract 47/47; test:exploration 12/12.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: aarroyo <beyondnet.peru@gmail.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