Skip to content

Estate audit — Waves 5 + 6: per-language testing standard, canonical-names guard, DYADT residual fix#459

Merged
hyperpolymath merged 4 commits into
mainfrom
claude/estate-audit-optimization-h19z12
Jul 3, 2026
Merged

Estate audit — Waves 5 + 6: per-language testing standard, canonical-names guard, DYADT residual fix#459
hyperpolymath merged 4 commits into
mainfrom
claude/estate-audit-optimization-h19z12

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Two cohesive commits closing out the estate audit-and-optimization program (umbrella #460). Both fully tested; generated artifacts in sync.

Commit 1 — Wave 5: per-language testing depth

You flagged this directly: the estate's only per-language testing depth was a single Julia guide from 2024 (no MUST/SHOULD, Rust+Julia only) next to a byte-identical duplicate.

  • language-testing-standards.mdv2.0.0: RFC-2119 requirements R1–R9 mapped to the CRG test taxonomy; an anti-theatre rule (no continue-on-error on a MUST check; coverage reported-with-artifact, not asserted).
  • templates/language-testing-guide-TEMPLATE.md: the skeleton every guide follows — requirement-mapping table (tool or visible none), tools, SHA-pinned CI, and a mandatory honest "Known gaps" section.
  • affinescript-testing-guide.md: your primary language, previously with zero testing standard — authored honestly (most SHOULD rows are tracked gaps; R3 notes affinescript-verify.yml is advisory). SSOT migrates to hyperpolymath/affinescript prospectively.
  • scripts/check-language-guide.sh (wired into just validate) + wave5-language-guides-test.sh (7/7). Deleted the duplicate snapshot.

Commit 2 — Wave 6: guard, DYADT residual fix, licence record

  • DYADT residual (DYADT verifier: reject always-matching contains: patterns + minor spec/coverage gaps #461): an adversarial review confirmed 16 bypasses in the Wave-4 verifier; 15 were fixed in Harden the DYADT claim verifier against adversarial-review bypasses #458, and this closes the last — an always-matching contains: regex (.*, ^, $, …) no longer confirms vacuously (unverifiable trivial-pattern). Spec pins the contains: dialect to POSIX ERE; conformance vector + assertion added (10 vectors, 15 assertions).
  • Canonical-names guard (check-canonical-names.sh): blocks reintroduction of the deprecated names (6a2→descriptiles, agent_instructions→bot_directives) in added diff lines only (chartered bulk migration untouched). Wired into just validate + the pre-commit hook; wave6-canonical-names-test.sh (4/4).
  • audits/licence-flags-2026-07.adoc: flag-only record — the whole program made no SPDX edits and no auto licence PRs; DYADT treats licence claims as manual-only end to end.

Verification

All six wave suites pass; DYADT conformance 10/10 + dogfood all-confirmed; registry + scorecard dashboard in sync.

Program status (umbrella #460)

Waves 0/1/3/4 + hardening merged (#453, #454, #457, #458). This lands Waves 5 + 6. Remaining estate-wide work is chartered: #461 (verifier residual — fixed here), #462 (DYADT production verifier), #463 (per-language guides completion).

Licence rows manual-only throughout (flag-only policy).

🤖 Generated with Claude Code

…AffineScript

The estate's only per-language testing depth was a single Julia guide from 2024
(no MUST/SHOULD, Rust+Julia only) plus a byte-identical duplicate snapshot. The
user flagged this: replicate the pattern properly instead of one stale generic.

- standards/language-testing-standards.md -> v2.0.0: RFC-2119 conformance
  requirements R1–R9 (unit/format/lint/coverage/property/bench/audit/contract/
  proof) mapped to the CRG test taxonomy, an anti-theatre rule (no
  continue-on-error on a MUST check; coverage reported-not-asserted), and the
  required per-language guide set. Rust/SPARK + Julia mapped to R1–R9.
- standards/templates/language-testing-guide-TEMPLATE.md: the skeleton every
  per-language guide follows — a requirement-mapping table (tool or visible
  `none`), tools, CI pipeline, best practices, and a mandatory honest
  "Known gaps" section.
- standards/affinescript-testing-guide.md: the estate's primary language, which
  had ZERO testing standard. Authored honestly — most SHOULD rows are tracked
  gaps (no formatter/coverage/fuzz/bench yet) and R3 notes that
  affinescript-verify.yml is currently advisory. Canonical SSOT migrates to
  hyperpolymath/affinescript prospectively (Wave-6 charter).
- scripts/check-language-guide.sh + Justfile language-guides-check, wired into
  `just validate` as a hard gate: a guide missing a required section (e.g.
  "Known gaps"), the SPDX header, or the R1..R9 mapping fails loudly.
- Deleted the byte-identical language-testing-standards-v1.0.0-2024-04-14.md.
- scripts/tests/wave5-language-guides-test.sh (7/7): lint accepts a conformant
  guide and rejects incomplete ones; the standard is v2.0.0/RFC-2119.

Zig / Elixir+Gleam / Idris2+Agda guides are Wave-6 charters. Licence rows
manual-only (flag-only).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0114ps6mY5jAH4Sz
…record

Capstone wave: close the last pull-forward holes and record the flag-only
licence discipline. (Campaign umbrella #460.)

- scripts/verify-claims.sh: close the residual DYADT bypass from the adversarial
  review (#461) — an always-matching `contains:` regex (`.*`, `^`, `$`, `.`,
  `.+`) no longer confirms vacuously; it now requires a literal character and
  returns `unverifiable trivial-pattern` otherwise. CLAIM-FORMAT.adoc pins the
  `contains:` dialect to POSIX ERE and states the trivial-pattern rule; a
  conformance vector (always-match) + a wave4 assertion lock it (10 vectors,
  15 dyadt assertions).
- scripts/check-canonical-names.sh: reintroduction guard for the deprecated
  names (6a2 -> descriptiles, agent_instructions -> bot_directives) from the
  CANONICAL-NAMES.adoc mandate. Inspects only ADDED diff lines so the chartered
  bulk migration of existing occurrences is untouched; skips meta-references
  (lines that describe the deprecation). Wired into `just validate` and the
  pre-commit hook. scripts/tests/wave6-canonical-names-test.sh (4/4).
- audits/licence-flags-2026-07.adoc: flag-only record — the whole program made
  no SPDX edits and no auto licence PRs; DYADT treats licence claims as
  manual-only end to end. Two owner-review flags surfaced, none acted on.

CHANGELOG is git-cliff-generated (not hand-edited); the first tagged release +
the rand<0.9.3 advisory expiry are owner actions tracked under #460. Orphan
A2ML-ATOMICITY-PROTOCOL registration + REORGANIZATION-PLAN archival deferred to
#460 as minor cleanup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0114ps6mY5jAH4Sz
@hyperpolymath hyperpolymath changed the title Estate audit — Wave 5: per-language testing standard v2.0.0 + guide template + AffineScript Estate audit — Waves 5 + 6: per-language testing standard, canonical-names guard, DYADT residual fix Jul 3, 2026
@hyperpolymath hyperpolymath marked this pull request as ready for review July 3, 2026 02:37
@hyperpolymath hyperpolymath enabled auto-merge (squash) July 3, 2026 02:37
@hyperpolymath hyperpolymath disabled auto-merge July 3, 2026 02:39
@hyperpolymath hyperpolymath merged commit 830b0f6 into main Jul 3, 2026
17 checks passed
@hyperpolymath hyperpolymath deleted the claude/estate-audit-optimization-h19z12 branch July 3, 2026 02:39
@sonarqubecloud

sonarqubecloud Bot commented Jul 3, 2026

Copy link
Copy Markdown

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.

2 participants