El toolchain: 4 compiler defects block local soul builds (agent Phase 1 needs chat.el changes) — repros inside; requesting registry access or a darwin elc drop #70

Open
opened 2026-07-04 14:37:10 +00:00 by tim.lingo · 0 comments
Member

Context: Tim approved the agent rebuild (docs: specs/AGENT-REBUILD-PLAN-2026-07-03.md + AGENT-PHASE1-TRUST-SPEC-2026-07-04.md). Phase 1 needs additive changes to chat.el's agentic loop (evidence receipts, risk-tiered approvals, verify-before-done). I attempted a fully local dev-soul build to test on an isolated profile and hit four distinct toolchain defects. No prod was touched; safety.el was NOT modified or worked around.

Toolchain used: el/lang main (Jul 1), elc freshly self-bootstrapped per BOOTSTRAP.md (seed dist/platform/elc Jun 25 → compiles elc-cli.el from current source cleanly).

Defects, with repros:

  1. Block-expression initializer drops first typed letlet x: String = { let y: Int = 42 ... } emits Int = 42; (declaration lost). 3-line repro compiles wrong under both Jun-25 seed and fresh-bootstrapped elc. Worked around in branch feat/agent-phase1-soul by a verbatim function-hoist of chat.el's affective block (care logic body unchanged — flagged for your review).
  2. Same-scope re-let inside if-expression initializers emits duplicate C declarations (session_preload's bullets/wb/pb/work_nodes chains). Worked around by chained renames (bullets_0/1/2), reference-preserving.
  3. safety.el string-lexing corruption: generated safety.c contains source-text-as-bare-identifiers around the soft-phrases JSON literal (both my codegen AND the committed dist/safety.c show it — the per-module dist artifacts appear to be broken byproducts; your amalgamated dist/soul.c is presumably built by the registry elc, which handles it). Per safety discipline I did not touch safety.el.
  4. sessions.el hangs/kills every locally available elc (Jun-5, Jun-25, fresh-bootstrapped) — known since Jun 26, persists with current compiler source.

Also: local elc does not textually inline imports for soul.el (42KB out vs your 971KB dist/soul.c), so the amalgamated path is registry-only too.

Asks (either unblocks us):

  • Artifact Registry read access for tim.lingo to el-elc/el-elb/el-runtime packages (foundation-prod, us-central1), OR
  • a darwin-arm64 drop of your current elc+elb+runtime into el/lang dist/platform/.

Branch note: feat/agent-phase1-soul carries the two mechanical chat.el refactors (zero behavior change, they make chat.el locally compilable). The .elh diffs in that commit are elb regeneration side effects — review the .el diff only. chat.el compiles clean locally after it; a full dev soul still needs your artifacts because of #3/#4.

🤖 Generated with Claude Code

Context: Tim approved the agent rebuild (docs: specs/AGENT-REBUILD-PLAN-2026-07-03.md + AGENT-PHASE1-TRUST-SPEC-2026-07-04.md). Phase 1 needs additive changes to chat.el's agentic loop (evidence receipts, risk-tiered approvals, verify-before-done). I attempted a fully local dev-soul build to test on an isolated profile and hit four distinct toolchain defects. No prod was touched; safety.el was NOT modified or worked around. **Toolchain used**: el/lang main (Jul 1), elc freshly self-bootstrapped per BOOTSTRAP.md (seed dist/platform/elc Jun 25 → compiles elc-cli.el from current source cleanly). **Defects, with repros:** 1. **Block-expression initializer drops first typed let** — `let x: String = { let y: Int = 42 ... }` emits `Int = 42;` (declaration lost). 3-line repro compiles wrong under both Jun-25 seed and fresh-bootstrapped elc. Worked around in branch feat/agent-phase1-soul by a verbatim function-hoist of chat.el's affective block (care logic body unchanged — flagged for your review). 2. **Same-scope re-let inside if-expression initializers** emits duplicate C declarations (session_preload's bullets/wb/pb/work_nodes chains). Worked around by chained renames (bullets_0/1/2), reference-preserving. 3. **safety.el string-lexing corruption**: generated safety.c contains source-text-as-bare-identifiers around the soft-phrases JSON literal (both my codegen AND the committed dist/safety.c show it — the per-module dist artifacts appear to be broken byproducts; your amalgamated dist/soul.c is presumably built by the registry elc, which handles it). Per safety discipline I did not touch safety.el. 4. **sessions.el hangs/kills every locally available elc** (Jun-5, Jun-25, fresh-bootstrapped) — known since Jun 26, persists with current compiler source. Also: local elc does not textually inline imports for soul.el (42KB out vs your 971KB dist/soul.c), so the amalgamated path is registry-only too. **Asks (either unblocks us):** - Artifact Registry read access for tim.lingo to el-elc/el-elb/el-runtime packages (foundation-prod, us-central1), OR - a darwin-arm64 drop of your current elc+elb+runtime into el/lang dist/platform/. **Branch note**: feat/agent-phase1-soul carries the two mechanical chat.el refactors (zero behavior change, they make chat.el locally compilable). The .elh diffs in that commit are elb regeneration side effects — review the .el diff only. chat.el compiles clean locally after it; a full dev soul still needs your artifacts because of #3/#4. 🤖 Generated with Claude Code
will.anderson was assigned by tim.lingo 2026-07-04 14:37:11 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron#70