Skip to content

migrate(fan-out C6+C8): 16 combat/enemy + device/network kernels, 4-gate green#537

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/cool-keller-gr5sl
Jun 5, 2026
Merged

migrate(fan-out C6+C8): 16 combat/enemy + device/network kernels, 4-gate green#537
hyperpolymath merged 2 commits into
mainfrom
claude/cool-keller-gr5sl

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

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):

Cluster Kernels Parity Boundary (G3) Assail (G4)
C6 CombatFx, Detection, DifficultyScale, Distraction, DualAlert, HitboxGeom, PlayerHp, SecurityAi 8,185 / 8,185 2 LOSSLESS clean
C8 GlobalNetworkData, NetworkManager, SecurityRank, DeviceCaps, LaptopState, NetworkTransfer, PowerManager, CovertLink 26,095 / 26,095 5 LOSSLESS clean
Total 16 34,280 / 34,280 7 LOSSLESS 16/16 clean

Parity oracles are re-derived independently from the original ReScript semantics, so a green sweep proves the .affine matches the .res it 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 cleanSecurityAi, SecurityRank, NetworkManager. Fixed with the established guard-helper clamp declaration (the DeviceType/DualAlert idiom). NetworkManager also dropped a dead Cat enum in favour of the integer category_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 fn exports always type as i32, float-literal operands mis-emit, and trunc()/float() are absent. This drove the *Int.affine parity subsets and validates keeping floats host-side. Joins the carried unary ~, arithmetic >> / no >>> findings as a Phase-F compiler workstream.

Not included

C7 (player) — its 8 .affine drafts were produced but the agent timed out before writing any parity config or evidence, so they are unverified and deliberately not landed. Tracked as IN_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

…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
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

🔍 Hypatia Security Scan

Findings: 87 issues detected

Severity Count
🔴 Critical 2
🟠 High 15
🟡 Medium 70

⚠️ Action Required: Critical security issues found!

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
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

🔍 Hypatia Security Scan

Findings: 87 issues detected

Severity Count
🔴 Critical 2
🟠 High 15
🟡 Medium 70

⚠️ Action Required: Critical security issues found!

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 hyperpolymath marked this pull request as ready for review June 5, 2026 13:28
@hyperpolymath hyperpolymath merged commit 32a2d4d into main Jun 5, 2026
27 checks passed
@hyperpolymath hyperpolymath deleted the claude/cool-keller-gr5sl branch June 5, 2026 13:28
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>
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