CI/CD gate: fix red gates at root (tests, opam, governance) + reconcile branches#77
Merged
Conversation
… ambiguity
- vm: implement the Call opcode (push CallFrame; bind args in place via bp)
and fix Return to truncate back to the callee frame's bp (previously leaked
the callee args/locals onto the caller stack). Resolves the runtime panic
'Unimplemented opcode: Call'.
- parser: add a no_struct_literal flag so a 'decide based on <expr> { ... }'
scrutinee is not greedily parsed as a record literal that swallows the match
block's '{' (the same disambiguation Rust uses for 'if x {}').
- typechecker: refresh test_type_checker_new to assert the seeded builtin
prelude is present, instead of the stale bindings.len()==0.
Full lib suite now 173 passed; 0 failed (was 170/3). Fixes the security and
rust-ci gates.
https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
The empty opam file made 'opam pin add wokelang.dev .' fail with 'unsupported or missing file format version; should be 2.0 or older', breaking the e2e gate's OCaml build. Provide a real opam 2.0 definition (dune + menhir). https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
…e lib/ editors/vscode/lib/ held checked-in bsb/ninja build artifacts (.cmj, .ast, .ninja_log, regenerated .res copies) — never-track output that also tripped the governance banned-language gate. Remove it and gitignore lib/. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
- SPDX header was a stale PMPL-1.0 (repo migrated to MPL-2.0). - cron weekly -> monthly (1st @ 06:00 UTC) per the estate account-wide Actions-quota cadence cut (standards#288). Folds origin/cicd/codeql-cron-monthly, now redundant. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
…ient to AffineScript Remove the ReScript LSP-client implementation (banned estate-wide). AffineScript — the estate-primary target for the rewrite — has no host-FFI mechanism yet and compiles to WASM, not the JS extension host, so a faithful reimplementation is blocked on the planned estate ABI/FFI layer. Reduce the extension to its policy-clean passive assets (TextMate grammar + language-configuration) and strip the client-dependent manifest (main / activation / commands / keybindings / npm deps). Tracked for AffineScript reimplementation in the repository issues. Closes the governance banned-language gate: zero .res files remain in the repo. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
3 tasks
….md drift - 6a2/STATE.a2ml: was stale (5% / 'concept', dated 2026-03-15). Refresh to reality — Rust toolchain (parser/typechecker/bytecode-VM/LSP/DAP, 173 tests), OCaml core, 20 CI workflows, the echo-types + Isabelle proof frontier; record the 2026-06-12 CI shepherd (PR #77) and issue #78. - anchors/ANCHOR.a2ml: clade 'unknown' -> 'nl', and add the nextgen-languages code-lineage parent, per the canonical .machine_readable/CLADE.a2ml registry. - .claude/CLAUDE.md: machine-readable section referenced non-existent .scm files; corrected to the real 6a2/*.a2ml paths + listed the other artefact dirs. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
Stragglers from the PMPL-1.0 -> MPL-2.0 migration: .clusterfuzzlite/Containerfile, .clusterfuzzlite/build.sh, .github/workflows/scorecard.yml + secret-scanner.yml, fuzz/fuzz_targets/fuzz_input.rs. SPDX headers only; prose mentions in LICENSE/NOTICE/README badge/ai.txt/PALIMPSEST deferred (need individual judgement). https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
…rich META/ECOSYSTEM The 6a2 metadata set was incomplete (3/6) and thin. Add the three missing artefacts and a physical-state contract, and deepen the two thin ones, using the maximal nextgen-typing reference as the structural template and the repo's real state as content: - 6a2/AGENTIC.a2ml — agent permissions / constraints / gating (escape-hatch ban, banned-language list, machine-file-location rule, consent-safety guard). - 6a2/NEUROSYM.a2ml — symbolic-first config (type system + echo-types/Isabelle proofs as the backbone); honestly records neural-component = none. - 6a2/PLAYBOOK.a2ml — operational runbook (build / deploy / incident / release). - contractiles/must/Mustfile.a2ml — physical-state contract (new must/ subdir). - 6a2/META.a2ml, 6a2/ECOSYSTEM.a2ml — enriched to template depth. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
hyperpolymath
marked this pull request as ready for review
June 12, 2026 22:40
hyperpolymath
enabled auto-merge (rebase)
June 12, 2026 22:40
dogfood-gate.yml startup-failed (0 jobs) on every push since #75 bumped a2ml-validate-action to 6bff6ec — an unresolvable/orphan pin (same class as the fake-SHA pins fixed in #71/#73). Repin both internal actions to current main HEAD: - a2ml-validate-action -> d95da62b - k9-validate-action -> 0cd8a79e https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
The docs carried fabricated/aspirational claims as if implemented: - README.adoc advertised a Deno/Idris2/Zig/Vyper toolchain + badges and a false 'asdf install rust deno idris2 zig' step (.tool-versions pins only 'rust stable'). - EXPLAINME.adoc described wokelang as a nextgen-languages submodule (it is standalone), OCaml as a 'frontend' (it is the core/ reference), and Vyper FFI + WASM codegen as implemented (both are design-only: 0 vyper refs in src; src/codegen WasmCompiler is an unwired scaffold). Rewrite both to the verified real state (Rust-primary + OCaml core/, echo-types/Isabelle frontier, VS Code syntax-only per #78). Add an in-tree wiki/ (Home, Overview, Architecture, CI-and-Governance, Roadmap). PMPL-1.0 README badge left for a maintainer license decision. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
…ink) The root .bot_directives symlink -> .machine_readable/bot_directives pointed at a missing directory. Create it with README + hypatia/gitbot-fleet/git-private-farm directives grounded in the real workflows + .hypatia bot names (no fabricated endpoints/tokens). https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
…tartup failure) dogfood-gate.yml startup-failed (Invalid workflow file: line 261) because the 'python3 -c' heredoc in the eclexiaiser-validate step was written flush-left, terminating the 'run: |' block scalar. Indent the heredoc body into the block so the YAML parses. THIS was the actual root cause of the gate's 0-job startup failure (the earlier validate-action repin in da78219 was unrelated SHA-hygiene). NOTE: this step uses Python (tomllib), which the estate language policy BANS — it is inherited from rsr-template-repo's dogfood-gate template. Flagged for an upstream de-Python fix (the dogfooding gate should follow the estate's own policy). https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
hyperpolymath
disabled auto-merge
June 13, 2026 12:37
Reconcile PR #77 with main's estate-standardization effort. Resolutions: - src/ (parser, typechecker, vm machine/compiler/bytecode): auto-merged; combines main's changes with the three branch fixes (VM Call opcode + Return stack-truncation, parser no_struct_literal flag, typechecker prelude-seed test). cargo test --lib: 173 passed, 0 failed. - .github/workflows (codeql, scorecard, secret-scanner): took main's version. - dogfood-gate.yml: based on main, with the eclexiaiser Python heredoc kept indented inside the run block scalar (valid YAML) and the live-HEAD action repins retained. - .machine_readable (AGENTIC/NEUROSYM/PLAYBOOK/bot_directives README): took main's governance restructure. - README.adoc / EXPLAINME.adoc / editors/vscode/README.md: reconciled for accuracy (no Deno/Idris2/Zig/Vyper toolchain, MPL-2.0, standalone repo, OCaml core/ reference, design-only FFI/WASM, passive syntax-only extension). - Kept branch-unique: valid wokelang.opam, reduced editors/vscode (no .res*), in-tree wiki/. - Removed old-layout duplicate .machine_readable/contractiles/must/Mustfile.a2ml (superseded by main's flat contractiles/Mustfile.a2ml). https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
…ge regression) Taking main's versions of these two workflows during the #77 reconciliation re-introduced PMPL-1.0 SPDX headers (main's estate-standardization never fixed them). Restore MPL-2.0 to match the repo-wide standard. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
hyperpolymath
added a commit
that referenced
this pull request
Jun 15, 2026
…ation state (#83) ## Why The Lean + Coq proof repair/extension landed in **#79–#82 (all merged)** but was **invisible to the estate's bot-coordination layer**. The machine-readable state still described a pre-proof-work world: - `STATE.a2ml [frontier]` named only an aspirational Isabelle narrative and **omitted the existing, now-verified Lean+Coq type-safety track** entirely; `last-shepherd` stopped at #77. - `debt.a2ml` carried **zero** real items — so the documented proof follow-ups would not reach the next session's Phase 0. - `coverage.a2ml` had no record that `docs/proofs/verification/` was visited. - `methodology.a2ml`'s divergent-mode invariants were generic template stubs — one example literally read *"Idris2 only … no Lean4, Coq"*, the **opposite** of reality, a real footgun for a divergent-mode bot. ## What (all additive; no curated content overwritten) Surfaced through the channels whose own contracts say *"updated by agents at session end"*: | File | Change | |---|---| | `bot_directives/debt.a2ml` | Carry-forward follow-ups as Phase-0 input: **should** — Coq binop parity, Lean array typing (Coq's is a ready template), `cap_subsumes_trans`; **could** — Coq `preservation` clean rewrite, Lean float binops, echo-types L3 integration blueprint. | | `bot_directives/coverage.a2ml` | `docs/proofs/verification/` recorded as a visited component (PRs #79–#82). | | `bot_directives/methodology.a2ml` | `divergent-invariants`: provers are **Lean 4 + Coq** (not Idris2/Isabelle); admit/sorry stay **zero**; the `Coq.Reals` axioms are **permitted, not escape hatches** (don't let an Axiom-scanner flag them). `known-constraints`: CI-gated + toolchain-pinned (Coq is version-sensitive); Lean/Coq cover **complementary** subsets; PROOF-NEEDS #2 is **ill-posed** pending a maintainer (a)/(b) decision. | | `6a2/STATE.a2ml` | Added `type-safety-proofs` to `[frontier]`; added `proof-gates` + `last-proof-shepherd` to `[ci]`. Existing lines preserved. | Source of truth for every claim: [`docs/proofs/verification/AUDIT.md`](../blob/main/docs/proofs/verification/AUDIT.md). ## Notes for review - **Draft on purpose** — `.machine_readable/` is maintainer-curated (`gitbot-fleet`/`hypatia` are both barred from it), so this goes through human review rather than direct-to-`main`. - The only deletions are replaced **generic template-example comments** in `methodology.a2ml` (incl. the misleading "Idris2 only" stub). No real data removed. - `coverage.a2ml`'s `total/visited` summary counters were left untouched — I won't fabricate a component denominator. - Stacked on the merged #82; the net diff is the four files above. https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7 --- _Generated by [Claude Code](https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7)_ --------- 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.
Shepherding
mainback through the CI/CD gate by fixing the root causes of each red check (not suppressing them), and reconciling the stray branch into one trunk.Root-cause fixes (landed in this PR)
security,rust-cie2ewokelang.opamwas 0 bytes →opam pinrejected itgovernance.resfiles undereditors/vscode/codeql.ymlcarried a stalePMPL-1.0SPDX headerMPL-2.0The 3 Rust fixes (
src/)Call/Return(vm/machine.rs,compiler.rs,bytecode.rs): implemented the unimplementedCallopcode (push aCallFrame, bind args in place viabp); fixedReturnto truncate the callee frame (it was leaking the callee's args/locals onto the caller stack).parser/mod.rs): adecide based on <expr> { … }scrutinee was greedily parsed as a record literal that swallowed the match block's{. Added ano_struct_literalflag (the same disambiguation Rust uses forif x {}).typechecker/mod.rs): refreshedtest_type_checker_newto assert the seeded builtin prelude exists instead of the stalebindings.len()==0.Branch reconciliation
origin/cicd/codeql-cron-monthly(1 commit: weekly→monthly CodeQL cron) is folded into this branch and is now redundant — safe to delete after merge.main; this becomes the single reconciled trunk.Still in progress (will push to this draft before marking ready)
.resfiles). Rewriting in the estate-primary language per maintainer decision; in progress pending authentic AffineScript FFI/ESM-binding syntax.dogfood/infra checks (mirror, instant-sync, scorecard, clusterfuzzlite) from this PR's fresh run — the historical "0 jobs" signal was unreliable, and therust-cireusable-workflow SHA pin was verified live.Out of scope here (flagged for the tidy pass — not a CI blocker, no
reusegate)PMPL-1.0 → MPL-2.0license migration is only ~90% complete (≈12 stragglers incl.LICENSE/NOTICEprose and the README badge;VSCode.reseven carried a third license id). Will reconcile separately.https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z7
Generated by Claude Code