docs: AffineScript migration decision + session handoff (bridge-first)#25
Merged
Conversation
Resolves ADR-001 and adds ADR-006: AffineScript-first, but build the Rust↔AffineScript bridge FIRST (in the affinescript repo, runtime/) before migrating git-reticulator's core. No migration code yet — this is the pick-up-locally handoff after the 2026-06-04 readiness assessment. - docs/MIGRATION-PLAN.adoc — full handoff: readiness findings, bridge scope, host+core plan, verisim DB mapping, tests/benches/CI, RESUME HERE. - META.a2ml: ADR-001 resolved (IO host-side via extern fn, not crate calls) + ADR-006. - STATE.a2ml: [migration-decision] + refreshed critical-next-actions. - debt.a2ml: core item updated to the bridge-first blocker. https://claude.ai/code/session_01JNCDaWMB8NV6nAPrvmTg4w
🔍 Hypatia Security ScanFindings: 23 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": "Issue in governance.yml",
"type": "missing_timeout_minutes",
"file": "governance.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in hypatia-scan.yml",
"type": "missing_timeout_minutes",
"file": "hypatia-scan.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in mirror.yml",
"type": "missing_timeout_minutes",
"file": "mirror.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in rust-ci.yml",
"type": "missing_timeout_minutes",
"file": "rust-ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard.yml",
"type": "missing_timeout_minutes",
"file": "scorecard.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in secret-scanner.yml",
"type": "missing_timeout_minutes",
"file": "secret-scanner.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Nominal-only SAST in git-reticulator: codeql.yml language matrix contains no language present in the repo and lacks `actions`, so CodeQL records zero results on every commit. Remediation: set the CodeQL matrix to `language: actions`.",
"type": "StaticAnalysis",
"file": "/home/runner/work/git-reticulator/git-reticulator",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Add CodeQL or equivalent SAST workflow.",
"scorecard_check": "SAST"
},
{
"reason": "Repository has 3 non-main remote branch(es). Policy: single main branch only.",
"type": "GS007",
"file": ".",
"action": "delete_remote_branches",
"rule_module": "git_state",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/workflow_audit/missing_timeout_minutes -- Hypatia workflow_audit: missing_timeout_minutes -- 0 day(s) old",
"type": "CSA001",
"file": "secret-scanner.yml",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
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.
What this is
A session handoff so the migration work can be picked up locally (e.g. after teleport). No migration code — this records the decision and the plan.
Decision (2026-06-04)
Resolves
ADR-001, addsADR-006: AffineScript-first, but build the Rust↔AffineScript bridge FIRST.The readiness check found AffineScript's compiler works (
.affine→ Wasm) but the Rust host bridge git-reticulator needs doesn't exist yet —affinescript-runtimeis ~80% Phase-6 stubs, there's no Rust loader/marshalling (JS hasaffine-js; Rust has nothing), it's alpha with the CORE-01 soundness gap, and it's Wasm-sandboxed so all IO must be host-sideextern fns (the oldsrc/lattice/affine/*.affinecallinggit2/postgresdirectly is invalid). So the bridge — anaffinescriptrepo deliverable (runtime/) — comes first; git-reticulator is its first consumer.Contents
docs/MIGRATION-PLAN.adoc— the full handoff: readiness findings, bridge scope + acceptance test, the host+core architecture (thin Rust host + pure.affinelattice core over Wasm, behind atrait LatticeCoreseam), the verisim DB mapping (standalone octad store over HTTP; no federation), tests/benches/strict-CI plan, and a RESUME HERE checklist.META.a2ml— ADR-001 resolved + ADR-006.STATE.a2ml—[migration-decision]block + refreshed critical-next-actions.debt.a2ml— core item updated to the bridge-first blocker.Next step
Deliverable 1 (the bridge) lands in
hyperpolymath/affinescript, not here. This PR can stay a draft until that work begins; merge it whenever you want the decision recorded onmain.Draft because it's a planning artifact, and the substantive work starts in the affinescript repo.
https://claude.ai/code/session_01JNCDaWMB8NV6nAPrvmTg4w
Generated by Claude Code