Skip to content

Commit e400327

Browse files
committed
v0.3.1.0 readiness
1 parent 773d92d commit e400327

68 files changed

Lines changed: 3284 additions & 198 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
runtime-checks:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- uses: actions/setup-python@v5
14+
with:
15+
python-version: "3.11"
16+
17+
- name: Install checker dependencies
18+
run: python -m pip install --upgrade pip PyYAML
19+
20+
- name: Build and verify runtime
21+
run: |
22+
python tools/build_framework_pipeline.py
23+
python tools/build_compiled_runtime.py
24+
python tools/check_compiled_runtime_freshness.py
25+
python tools/check_compiled_module_boundaries.py
26+
python tools/check_stub_integrity.py
27+
python tools/check_consolidation_call_budget.py
28+
python tools/check_routing_parity.py
29+
python tools/check_routing_parity.py --strict
30+
python tools/check_recursive_traversal_governance.py
31+
python tools/check_render_modes.py
32+
python tools/check_frontmatter.py
33+
python tools/check_coverage.py
34+
python tools/check_framework_pipeline.py
35+
python tools/check_recursion_collapse_noetic_frame.py
36+
python tools/check_metacompliance_current_canon.py
37+
python tools/check_smoke_artifacts.py
38+
python tools/check_ir_instance_integrity.py
39+
python tools/check_diagnostic_ir_catalogue_integrity.py
40+
git diff --check

AGENTS.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,14 @@ python tools/check_coverage.py
3434
python tools/check_recursion_collapse_noetic_frame.py
3535
python tools/check_metacompliance_current_canon.py
3636
python tools/check_smoke_artifacts.py
37+
python tools/check_ir_instance_integrity.py
38+
python tools/check_diagnostic_ir_catalogue_integrity.py
3739
```
3840

3941
Before packaging or pushing, run the full applicable checker suite and confirm the generated
40-
runtime is fresh. When `smokes/runtime-grounding-v5/` exists, include the smoke artifact gate.
42+
runtime is fresh. The canonical smoke artifact gate is repo-local
43+
`smokes/runtime-grounding-v5/`; it is committed regression evidence with trace/verdict
44+
provenance, and `tools/check_smoke_artifacts.py` defaults to that root.
4145
Package only when explicitly requested.
4246

4347
## Skill Architecture
@@ -95,6 +99,9 @@ False-compliance guards are executable, not merely prose:
9599
render only, while runtime proof and verdict language stay in `trace.md` and `verdict.md`.
96100
- Hard smoke PASS verdicts below the depth floor, cross-fixture contamination, and repeated generic
97101
paragraphs across unrelated outputs must fail the smoke artifact checker.
102+
- Release smoke artifacts must carry provenance in `trace.md` or `verdict.md`: package filename,
103+
SHA256, model/host, invocation mode, prompt pointer, timestamp, and live-run versus
104+
handcrafted-regression classification.
98105
- `Operation:` lines must begin with the closed operative verbs named in
99106
`recursive-state-transitions.md`.
100107
- Non-operative source-status use requires the operative-warrant sentence with the

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,22 @@
1515
- Added `tools/check_metacompliance_current_canon.py` to guard the current docs, root control plane,
1616
generated default surface, source-status/noetic-frame anchors, and held-release anchors against
1717
metacompliance drift.
18+
- Added Diagnostic IR catalogue/source-basis integrity checking via
19+
`tools/check_ir_instance_integrity.py` and
20+
`tools/check_diagnostic_ir_catalogue_integrity.py`, including ghost-load, omnibus active-module,
21+
class-mismatch, source-basis mismatch, and post-render decision-consistency bad samples.
1822
- Updated README, AGENTS, TODO, and tooling docs so the current checker suite includes the
1923
metacompliance current-canon guard.
2024
- Added `tools/check_smoke_artifacts.py` and the `runtime-grounding-v5` hard/bounded smoke gate to
2125
reject cross-fixture contamination, smoke/test scaffold language in default output, repeated
2226
generic paragraphs across unrelated smoke outputs, and hard PASS verdicts below the depth floor.
27+
- Aligned smoke artifacts to the repo-local `smokes/runtime-grounding-v5/` root and required
28+
release-smoke provenance fields for package filename, SHA256, model/host, invocation mode,
29+
prompt pointer, timestamp, and live-run classification.
2330
- Hardened render/release governance so output files remain clean user-facing default render
2431
artifacts while runtime proof and grading stay in trace/verdict artifacts.
32+
- Clarified package naming: PowerShell packaging emits the canonical RC `.skill.zip`; upload hosts
33+
that require `.skill` should receive the same checked payload renamed, not a re-zipped repo root.
2534

2635
### Current guidance
2736

@@ -45,6 +54,9 @@
4554
> Release-history note: this entry records v0.3.1.0 state. Terms such as `State Refresh`,
4655
> next eligible door, compact Layer A light surface, or full audit are historical wording when
4756
> they differ from the current compact DSL/IR + bounded governed response + state/noetic re-read canon.
57+
> Current mainline canon after v0.3.1.0 adds checker-backed IR source-basis integrity,
58+
> repo-local smoke artifact provenance, and default render wording that avoids literal
59+
> STOP/HOLD/RECURSE/PARTIAL governance labels in public output.
4860
4961
v0.3.1.0 is the render-mode governance and release-hygiene patch release. It fixes a regression in
5062
which the default `/daee-epistemics` invocation was emitting full `[Diagnostic IR]` code-fenced

README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,8 @@ python tools/check_framework_pipeline.py
288288
python tools/check_recursion_collapse_noetic_frame.py
289289
python tools/check_metacompliance_current_canon.py
290290
python tools/check_smoke_artifacts.py
291+
python tools/check_ir_instance_integrity.py
292+
python tools/check_diagnostic_ir_catalogue_integrity.py
291293
```
292294

293295
The compiled runtime may still name atomized paths such as `references/tactics/M9-predication-mode.md`.
@@ -491,10 +493,16 @@ class CASEOUT,LAYERS,REST,CATALOGUE,FRONTMATTER,PFAUDIT slate;
491493

492494
## Install / Package (Claude-First)
493495

494-
The distributable artifact for this repository is `daee-epistemics.skill`.
495-
Its archive root must contain `SKILL.md`, `references/`, `compiled-module-map.json`, and `build-manifest.json` directly.
496-
Do not zip the whole repo root, and do not produce a bundle whose top level is `skill/`.
497-
Package the contents of the generated `skill/` directory, not the directory itself.
496+
The canonical user-facing upload name is `daee-epistemics.skill`. The canonical local RC build
497+
filename is `build/daee-epistemics-RC00001-v0.3.1.0.skill.zip`.
498+
`package.ps1` emits a local `.skill.zip` archive because it is a zip payload with the skill root
499+
at archive root. If a host expects `.skill`, rename that checked `.skill.zip` payload to
500+
`daee-epistemics.skill`; do not re-zip it.
501+
502+
The archive root must contain `SKILL.md`, `references/`, `compiled-module-map.json`, and
503+
`build-manifest.json` directly. Do not zip the whole repo root, and do not produce a bundle whose
504+
top level is `skill/`. Package the contents of the generated `skill/` directory, not the directory
505+
itself.
498506

499507
Before release, regenerate and verify the runtime with the command set in [Source / Runtime Layout](#source--runtime-layout). The checked local packaging command is:
500508

@@ -503,7 +511,9 @@ powershell -NoProfile -ExecutionPolicy Bypass -File .\package.ps1 build\daee-epi
503511
```
504512

505513
Smoke tests should use the latest explicitly named rc package and hash from the current run.
506-
Do not use `build/compiled-skill/` or older rc archives as smoke-test inputs.
514+
Do not use `build/compiled-skill/` or older rc archives as smoke-test inputs. The release smoke
515+
artifact suite is committed under `smokes/runtime-grounding-v5/` as regression evidence; future
516+
live runs may regenerate it, but the checker defaults to that repo-local root.
507517
Current readiness checks and smoke prompts live in [`docs/package-smoke-readiness.md`](docs/package-smoke-readiness.md).
508518

509519
For path fidelity, build the archive from Bash / WSL / Linux rather than Windows zip tooling. This keeps archive entry names slash-safe for skill hosts that inspect the bundle structure directly.

TODO.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ Completed historical gaps, coverage passes, routing parity work, and recursive t
1818

1919
No active unresolved release-blocking technical pass is currently assigned.
2020

21+
## Completed Mainline Audit Patch Catalogue (post-v0.3.1.0)
22+
23+
- Diagnostic IR ghost-load/source-basis enforcement is checker-backed by
24+
`tools/check_ir_instance_integrity.py` and
25+
`tools/check_diagnostic_ir_catalogue_integrity.py`.
26+
- Runtime-grounding smoke artifacts are canonical at repo-local
27+
`smokes/runtime-grounding-v5/`; release traces/verdicts carry package/hash/run provenance.
28+
- Package naming is split deliberately: `package.ps1` emits a checked local `.skill.zip` RC archive,
29+
while host uploads that require `.skill` may use the same payload renamed to `daee-epistemics.skill`.
30+
2131
## Completed Metaaudit Repair Catalogue (2026-05-02)
2232

2333
The `C:\ai\current\metaaudit.md` report found the skill partially compliant: the

atomics/skill/references/diagnostics/diagnostic-ir.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -337,9 +337,10 @@ bounded move → state re-read: what cleared → what remains live
337337
→ next eligible burden → decision → next bounded move (if eligible)
338338
```
339339

340-
Literal `Recursion decision:` and `next_eligible_pass:` fields must not appear in default
341-
output. They belong to `:dsl`, internal/development audit, pass-review, or diagnostic trace. In default mode,
342-
RECURSE appears as a prose transition plus one bounded next pass, not as a state label.
340+
Literal `Recursion decision:`, `next_eligible_pass:`, `Governance:`, or visible
341+
STOP / HOLD / RECURSE / PARTIAL governance labels must not appear in default output. They
342+
belong to `:dsl`, internal/development audit, pass-review, or diagnostic trace. In default
343+
mode, continuation appears as a prose transition plus one bounded next pass, not as a state label.
343344

344345
Numbered essay headings do not substitute for this progression. "Move 1 / Move 2 /
345346
Move 3" is not a post-render gate unless the response also shows, in ordinary prose,
@@ -449,7 +450,7 @@ Why already present:
449450
Released module(s):
450451
Bounded move:
451452
state re-read:
452-
Governance: STOP | HOLD | RECURSE | PARTIAL
453+
Release status: prose closure/hold/partial/continuation status; no literal STOP/HOLD/RECURSE/PARTIAL label
453454
```
454455

455456
This is a DSL/audit shape, not a normal-answer ledger. Ordinary default answers may compress it,

atomics/skill/references/diagnostics/diagnostic-ir.schema.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@
181181
"type": "string",
182182
"enum": ["strong", "provisional", "low"]
183183
},
184+
"decisive_missing_differentiator": {
185+
"type": "string",
186+
"minLength": 1,
187+
"description": "Conditional-mandatory when confidence is not strong or read_status is not dominant; names the signal that would refine, falsify, or collapse the remaining ambiguity."
188+
},
184189
"alignment_state": {
185190
"type": "string",
186191
"enum": [
@@ -424,6 +429,36 @@
424429
},
425430
"then": false
426431
},
432+
{
433+
"if": {
434+
"properties": {
435+
"confidence": {
436+
"not": {
437+
"const": "strong"
438+
}
439+
}
440+
},
441+
"required": ["confidence"]
442+
},
443+
"then": {
444+
"required": ["decisive_missing_differentiator"]
445+
}
446+
},
447+
{
448+
"if": {
449+
"properties": {
450+
"read_status": {
451+
"not": {
452+
"const": "dominant"
453+
}
454+
}
455+
},
456+
"required": ["read_status"]
457+
},
458+
"then": {
459+
"required": ["decisive_missing_differentiator"]
460+
}
461+
},
427462
{
428463
"if": {
429464
"properties": {

atomics/skill/references/diagnostics/framework-pipeline.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -744,7 +744,7 @@ support_claims:
744744
- "Layer A"
745745
- "Layer B"
746746
- "state re-read"
747-
- "If Governance = RECURSE, continue with Burden-Cycle N+1"
747+
- "If the release status says another bounded pass is licensed, continue with Burden-Cycle N+1"
748748

749749
restoration_trace_shape:
750750
owners:

atomics/skill/references/diagnostics/recursive-state-transitions.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -398,10 +398,11 @@ re-read burden-cycle shape in `diagnostic-render-contract.md`, then repeats only
398398
recursive sufficiency.
399399

400400
Default mode must not print literal state fields such as `Recursion decision:`,
401-
`next_eligible_pass:`, `post_render_gate:`, or STOP / HOLD / RECURSE / PARTIAL as a visible
402-
governance label. Literal state labels and post-render fields are for `:dsl`, internal/development audit,
403-
pass-review, or diagnostic trace. Default RECURSE is valid only when the answer visibly
404-
performs the transition and the one bounded next pass; naming the decision is not execution.
401+
`next_eligible_pass:`, `post_render_gate:`, `Governance:`, or STOP / HOLD / RECURSE / PARTIAL
402+
as a visible governance label. Literal state labels and post-render fields are for `:dsl`,
403+
internal/development audit, pass-review, or diagnostic trace. Default continuation is valid
404+
only when the answer visibly performs the transition and the one bounded next pass; naming the
405+
decision is not execution.
405406

406407
### Minimum Visible Transition Spine
407408

@@ -551,7 +552,7 @@ Why already present:
551552
Released module(s):
552553
Bounded move:
553554
state re-read:
554-
Governance: STOP / HOLD / RECURSE / PARTIAL
555+
Release status: prose closure/hold/partial/continuation status; no literal STOP/HOLD/RECURSE/PARTIAL label
555556
```
556557

557558
## Grounded Noetic Re-Read Shape

atomics/skill/references/rubrics/diagnostic-render-contract.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ Layer A block is the compact diagnostic frame for default mode; it is not raw Di
183183
- Cleared: [what this live burden cleared]
184184
- Remaining input-anchored burdens: [enumerated from original input, not a topic list]
185185
- Held routes rechecked: [result after this pass]
186-
- Next bounded pass: [if RECURSE]
187-
- Governance: RECURSE | HOLD | PARTIAL | STOP
186+
- Next bounded pass: [prose reason if another bounded pass is licensed]
187+
- Release status: [prose closure/hold/partial/continuation status; no literal STOP/HOLD/RECURSE/PARTIAL label]
188188
189189
### Restorative Response
190190
[Required once in default output after state/noetic re-read. Bounded to what the released operation(s) actually landed. Do not promote it into a new burden-cycle. Do not release held downstream burdens.]
@@ -193,8 +193,9 @@ Layer A block is the compact diagnostic frame for default mode; it is not raw Di
193193
[Required once at the very end after Restorative Response. Synthesize what cleared, what remains held, and the final governed takeaway. Do not substitute for state/noetic re-read.]
194194
```
195195

196-
If Governance = RECURSE, continue with Burden-Cycle N+1. If STOP / HOLD / PARTIAL, close with a
197-
brief prose reason — no literal governance label in default mode.
196+
If the release status says another bounded pass is licensed, continue with Burden-Cycle N+1.
197+
If closure, hold, or partial traversal is correct, state the reason in prose — no literal
198+
STOP / HOLD / RECURSE / PARTIAL governance label in default mode.
198199

199200
**Layer A required default fields:** read status, confidence, claim_level,
200201
pattern_profile, reason-category, concealment, deformation, DO-orient, live noetic
@@ -341,9 +342,10 @@ required field set; everything else remains internal. It must surface enough gov
341342
diagnostic fact for the current pass to be auditable as compiler traversal rather than essay.
342343

343344
**Compact state re-read:** The state re-read block above is compact. It must enumerate
344-
remaining input-anchored burdens, not merely state the governance decision. "Governance: STOP"
345-
alone is not a valid state re-read — it must show that no input-anchored eligible burden
346-
remains, or name the burden and the reason for HOLD / PARTIAL.
345+
remaining input-anchored burdens, not merely state a governance decision. A line such as
346+
"Governance: STOP" is forbidden in default output and is not a valid state re-read. The
347+
default must show that no input-anchored eligible burden remains, or name the burden and
348+
the prose reason for a hold or partial close.
347349

348350
**Single-Pass Layer A/B Cosplay:** A response that prints Layer A + Layer B + state re-read
349351
exactly once and then stops — without proving no eligible input-anchored live burden remains,
@@ -869,7 +871,7 @@ Trace: M9-predication-mode + diagnostic-render-contract.
869871
- Cleared: composition / dependence pressure dissolved through the lexical and category split.
870872
- Remaining input-anchored burdens: none in this prompt.
871873
- Held routes rechecked: full attribute exposition and source-comparison remain held.
872-
- Governance: STOP
874+
- Release status: closed for this input; no same-input eligible burden remains after the category correction.
873875

874876
### Restorative Response
875877
The restored order is that real predication does not become dependency merely by being
@@ -932,7 +934,7 @@ Trace: FPD + M1 + output-release.
932934
as subordinate supports for that tribunal.
933935
- Remaining input-anchored burdens: none newly licensed in this prompt.
934936
- Held routes rechecked: broad punishment doctrine and pastoral expansion remain held.
935-
- Governance: STOP unless a later prompt supplies a burden not already handled as a submove.
937+
- Release status: closed for this input unless a later prompt supplies a burden not already handled as a submove.
936938

937939
#### Restorative Response
938940
The restored order is that mercy, guidance, accountability, and worship-worthiness cannot be

0 commit comments

Comments
 (0)