migrate(fan-out C6+C8): 16 combat/enemy + device/network kernels, 4-gate green#537
Merged
Conversation
…ate green Clusters C6 (combat/enemy) and C8 (device/network), re-decomposed to the brain/senses split and staged under proposals/idaptik/migrated/. All 16 kernels re-verified by the parent (not just agent-reported): - 16/16 compile - 34280/34280 parity vs independent ReScript-derived oracles (C6 8185, C8 26095) - 7 echo-boundary LOSSLESS proofs - 16/16 assail-clean Re-verification caught 3 PA-AFF-001 findings the agent reports missed (SecurityAi, SecurityRank, NetworkManager) and fixed them with the established guard-helper clamp declaration. NetworkManager parity held at 2645/2645 after removing the dead Cat enum, confirming semantics preserved. 4th compiler finding: Float->wasm codegen is broadly incomplete (pub-fn exports always type i32; float-literal operands mis-emit; trunc()/float() absent), which drives the *Int.affine parity subsets and keeps floats host-side. C7 (player) drafts were produced but the agent timed out before writing parity configs/evidence; left untracked and unverified, tracked as TODO in the ledger and migration-map. https://claude.ai/code/session_01WoKhFQePiRsAj7aqnxbG8s
🔍 Hypatia Security ScanFindings: 87 issues detected
View findings[
{
"reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action ons/checkout@v6\n needs attention",
"type": "unpinned_action",
"file": "publish-jsr.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action land/setup-deno@v2\n needs attention",
"type": "unpinned_action",
"file": "publish-jsr.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in affine-vscode-publish.yml",
"type": "missing_timeout_minutes",
"file": "affine-vscode-publish.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "missing_timeout_minutes",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "missing_timeout_minutes",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "missing_timeout_minutes",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
The C7 (player) migration agent produced 8 .affine kernel drafts but timed out before writing any parity oracle (config.mjs), boundary proof, or evidence. These are UNVERIFIED — no gate has been run on them. They are committed only to preserve the re-decomposition head-start (the container is ephemeral); they are NOT claimed as 4-gate-green and the PR stays draft until they are. Status recorded as IN_PROGRESS / drafted_unverified in proposals/idaptik/migration-map.json (cluster C7). Next: write independent oracles, run compile/parity/boundary/assail, fix as needed, then mark C7 DONE. Kernels (unverified): CriticalRoll, PlayerAttributes, QCertifications, SkillRank, SkillAbilities, QPrograms, JessicaLoadout, JessicaBackground. https://claude.ai/code/session_01WoKhFQePiRsAj7aqnxbG8s
🔍 Hypatia Security ScanFindings: 87 issues detected
View findings[
{
"reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action ons/checkout@v6\n needs attention",
"type": "unpinned_action",
"file": "publish-jsr.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action land/setup-deno@v2\n needs attention",
"type": "unpinned_action",
"file": "publish-jsr.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in affine-vscode-publish.yml",
"type": "missing_timeout_minutes",
"file": "affine-vscode-publish.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "missing_timeout_minutes",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "missing_timeout_minutes",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in ci.yml",
"type": "missing_timeout_minutes",
"file": "ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
hyperpolymath
added a commit
that referenced
this pull request
Jun 5, 2026
…538) ## Summary Completes cluster **C7 (player)** of the idaptik ReScript→AffineScript→wasm migration — the 8 player-state coprocessor brains. Builds on the C7 *drafts* that rode in with #537; this PR adds the parity oracles, boundary proofs, float re-decompositions, and evidence, and marks **C7 DONE** in the ledger + `migration-map.json`. 8 kernels, **every gate re-run by the parent** (not agent-reported): | Gate | Result | |---|---| | G1 compile | 8/8 | | G2 parity | **4,348/4,348** vs independent ReScript-derived oracles | | G3 boundary | **6 LOSSLESS** Agda proofs, re-typechecked (QCertifications, SkillRank, JessicaLoadout ×3, JessicaBackground) | | G4 assail | 8/8 clean | Per-kernel: CriticalRoll 59/59 · PlayerAttributes 155/155 · QCertifications 101/101 · SkillRank 180/180 · SkillAbilities 894/894 · QPrograms 2593/2593 · JessicaLoadout 265/265 · JessicaBackground 101/101. ## Float→wasm wall (4 of 8) CriticalRoll/PlayerAttributes/QPrograms hit `min_float`/`max_float`/`trunc` and were re-decomposed Int-native (milli-unit convention, floats host-side, per the C6 `*Int` pattern); QCertifications' f64-comparison exports moved host-side. The differential parity sweep **caught and fixed an off-by-100** in PlayerAttributes — a transcription error an eyeball pass would have shipped. ## Rigor note A mid-flight parent check raced one agent and missed the boundary proofs it hadn't yet written; the figures here are from the **post-completion re-run**, with every parity sweep executed and every `.agda` re-typechecked by the parent. ## Staging Staged under `proposals/idaptik/migrated/` per the write-access gate — "migrated" = re-decomposed + 4-gate-verified + staged, not yet applied to idaptik. License AGPL-3.0-or-later (idaptik downstream). https://claude.ai/code/session_01WoKhFQePiRsAj7aqnxbG8s --- _Generated by [Claude Code](https://claude.ai/code/session_01WoKhFQePiRsAj7aqnxbG8s)_ Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Parallel deep wave of the idaptik ReScript→AffineScript→wasm migration. Two clusters — C6 (combat/enemy) and C8 (device/network) — re-decomposed to the brain/senses split and staged under
proposals/idaptik/migrated/. Pure-integer "brains" cross the wasm boundary; strings/floats/DOM/mutable service state stay host-side.16 kernels, all re-verified by the parent (not just agent-reported):
Parity oracles are re-derived independently from the original ReScript semantics, so a green sweep proves the
.affinematches the.resit replaces.Re-verification caught real findings
Running the gates in-parent (rather than trusting the agent reports) surfaced 3 PA-AFF-001 findings the reports had marked clean —
SecurityAi,SecurityRank,NetworkManager. Fixed with the established guard-helper clamp declaration (the DeviceType/DualAlert idiom).NetworkManageralso dropped a deadCatenum in favour of the integercategory_of; parity held at 2,645/2,645, confirming semantics were preserved.Compiler finding (4th)
Across all three agents the recurring wall was Float→wasm codegen, not integer logic:
pub fnexports always type as i32, float-literal operands mis-emit, andtrunc()/float()are absent. This drove the*Int.affineparity subsets and validates keeping floats host-side. Joins the carriedunary ~, arithmetic>>/ no>>>findings as a Phase-F compiler workstream.Not included
C7 (player) — its 8
.affinedrafts were produced but the agent timed out before writing any parity config or evidence, so they are unverified and deliberately not landed. Tracked asIN_PROGRESS/TODO in the ledger +migration-map.json; drafts left in the working tree as a head-start for the completion pass.Staging note
All idaptik-bound work lands under
proposals/idaptik/per the write-access gate — "migrated" here means re-decomposed + 4-gate-verified + staged, not yet applied to idaptik. License AGPL-3.0-or-later (idaptik downstream).https://claude.ai/code/session_01WoKhFQePiRsAj7aqnxbG8s
Generated by Claude Code