Skip to content

docs(gaps): close GT-570 on registry evidence, carve the remainder into GT-624 - #229

Merged
beyondnetPeru merged 1 commit into
developfrom
docs/gaps-component-assessment
Jul 27, 2026
Merged

docs(gaps): close GT-570 on registry evidence, carve the remainder into GT-624#229
beyondnetPeru merged 1 commit into
developfrom
docs/gaps-component-assessment

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Pull Request Summary

1.2.0 is published. Verified against the registry, not an exit code:

Package Version Published dist.attestations
@beyondnet/evolith-agent-runtime 1.2.0 14:06:10 yes
@beyondnet/evolith-sdk 2.0.0 14:06:24 yes
@beyondnet/evolith-mcp 1.2.0 14:06:39 yes
@beyondnet/evolith-cli 1.2.0 14:06:58 yes

The timestamps also confirm dependency order — the last three consume the first.

That last column is the substance. The audit's finding was "0 of 8 published packages carry dist.attestations". Four now do, produced by GitHub Actions with id-token: write rather than by a developer machine.

Closed without over-claiming

GT-570 had three acceptance criteria and shipping 1.2.0 meets one and a half. Rather than tick them, the row is re-scoped explicitly and the remainder becomes GT-624 (P1):

  • The 1.1.0 versions are still not deprecated, so npm install @beyondnet/evolith-mcp@1.1.0 silently resolves the build that predates the security wave. One command per package, but it needs npm credentials — owner action.
  • No release gate fails when a security-tagged commit is absent from the published tag. That absence is exactly what let the wave sit unpublished from 2026-07-23 to 2026-07-27 while SECURITY.md declared 1.1.x "actively patched". Nothing detected it; an audit did.

Ticking those would be the pattern this board keeps catching in itself — GT-12, GT-568, GT-254 and GT-424 all closed over live defects. The re-scope is recorded in the catalog entry, not silent.

What the rehearsals bought

Three defects, all permanent had they shipped (npm forbids unpublishing after 72 hours):

Rehearsal Found
30265298045 no LICENSE in any of the four tarballs, on an MIT project; repository.url auto-corrected in all eight
30271837941 bin paths auto-corrected in two

And the scope itself was wrong until git show --name-only replaced --stat, which truncates long paths: the wave touches mcp (15 files), cli (7) and agent-runtime (1 — the CWE-78 shell runner), not mcp alone. The original plan would have shipped one patch and left two packages vulnerable.

Board: 562/624 done · 9 in progress · 49 pending · 4 deferred.

Evolith Core Quality Gates

  • Bilingual Parity: row, catalog entry and re-scope generated for .md and .es.md from a single data structure.
  • Validation Scripts: 01-validate-docs.mjs green.
  • Bilingual Validation: 04-check-bilingual-parity.mjs green.
  • Agnosticism: documentation only.

Verification

08-validate-tracking 624 gaps (ES 624), 600/600 EN/ES catalog sections, 544 closure records · ci-runner governance 17/17 exit 0 · 01, 04 and 11-validate-product-docs exit 0.

Linked ADRs / Issues

  • Link to Issue: GT-570 (closes), GT-624 (opens), related GT-623

Conventional Commits

  • Title and commits follow Conventional Commits.

🤖 Generated with Claude Code

…to GT-624

1.2.0 is published. Verified against the REGISTRY rather than an exit code:
evolith-agent-runtime@1.2.0 (14:06:10), evolith-sdk@2.0.0 (14:06:24),
evolith-mcp@1.2.0 (14:06:39), evolith-cli@1.2.0 (14:06:58) — timestamps that also
confirm dependency order, since the last three consume the first. All four carry
`dist.attestations`, produced by GitHub Actions with id-token: write.

That last point is the substance. The audit's finding was "0 of 8 published
packages carry dist.attestations"; four now do, and they were not hand-published.

CLOSED WITHOUT OVER-CLAIMING
----------------------------
GT-570 had three acceptance criteria and shipping 1.2.0 meets one and a half.
Rather than tick them, the row is re-scoped explicitly and the remainder becomes
GT-624 (P1):

  (a) The 1.1.0 versions are still not deprecated, so
      `npm install @beyondnet/evolith-mcp@1.1.0` silently resolves the build that
      predates the security wave. One command per package, but it needs npm
      credentials — owner action.
  (b) No release gate fails when a security-tagged commit is absent from the
      published tag. That absence is exactly what let the wave sit unpublished
      from 2026-07-23 to 2026-07-27 while SECURITY.md declared 1.1.x "actively
      patched". Nothing detected it; an audit did.

Ticking those would be the pattern this board keeps catching in itself — GT-12,
GT-568, GT-254 and GT-424 all closed over live defects. The re-scope is recorded
in the catalog entry, not silent.

WHAT THE REHEARSALS BOUGHT
--------------------------
Three defects, all of which would have been permanent since npm forbids
unpublishing after 72 hours:
  - run 30265298045: no LICENSE in any of the four tarballs, on an MIT project;
    repository.url auto-corrected in all eight manifests
  - run 30271837941: bin paths auto-corrected in two
And the scope itself was wrong until `git show --name-only` replaced `--stat`,
which truncates long paths: the wave touches mcp (15 files), cli (7) and
agent-runtime (1 — the CWE-78 shell runner), not mcp alone. The original plan
would have shipped one patch and left two packages vulnerable.

Board: 562/624 done, 9 in progress, 49 pending, 4 deferred.

Verified: 08-validate-tracking 624 gaps (ES 624), 600/600 EN/ES catalog sections,
544 closure records; ci-runner governance 17/17 exit 0; 01, 04 and
11-validate-product-docs exit 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner July 27, 2026 14:29
@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

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 3
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 522
Total ES files 496
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

@beyondnetPeru
beyondnetPeru merged commit 8227748 into develop Jul 27, 2026
29 of 31 checks passed
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