Skip to content

docs: Lumens rev 3.3 — acceptance-gate trace + defs/effects gaps closed#37

Merged
iret77 merged 1 commit into
mainfrom
feat/lumens-acceptance-trace
Jun 16, 2026
Merged

docs: Lumens rev 3.3 — acceptance-gate trace + defs/effects gaps closed#37
iret77 merged 1 commit into
mainfrom
feat/lumens-acceptance-trace

Conversation

@iret77

@iret77 iret77 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Hand-authored the full arcade + transactional-ordering reference Lumens in
real LX-AST (docs/protocol/lumen-walkthroughs.md)
as the §14 acceptance gate. Writing them complete (not fragments) surfaced two
load-bearing gaps invisible to fragment review:

  • G1 — no author-defined function abstraction. collides()/menuRow() are
    reused across many transitions; let binds values, transitions can't call
    transitions → forced inlining (bloat + LLM-reliability + patch-divergence).
    Fix: defs + {apply} (§2.8) — named, non-recursive (validated DAG, fully
    inlinable so the static gas bound holds), pure-in-params.
  • G2 — a pure transition could not invoke a capability. §6 defined the wire
    event + policy, never the authoring trigger. Fix: effect bindings (§6.4) —
    the output dual of events; runtime brokers, result re-enters as an event;
    determinism + consent + egress bounds unchanged.

Clarifications the trace forced: StateLeaf includes nested list/record
(§1.1); transition result is a delta-merge, {set:{}} no-op (§2.5); multi-field
{set:{a,b,…}} (§2.2).

rev 3.x (binders, {var}, at/setAt, const, idx, flatten, kernels,
colour authority) all validated by the complete trace; gas never the constraint.
2 of 5 reference Lumens traced; workflow/defrag/map remain before L0–L9.

🤖 Generated with Claude Code

…+ two gaps closed

Hand-authored the full arcade + transactional-ordering reference Lumens in real
LX-AST (docs/protocol/lumen-walkthroughs.md) as the §14 acceptance gate. Writing
them COMPLETE (not fragments, as earlier passes) surfaced two load-bearing gaps —
both invisible to fragment review because they only appear when logic is reused
across sites and when an effect must fire from pure code:

- G1: no author-defined function abstraction. collides()/menuRow() are needed
  from many transitions; let binds values, transitions can't call transitions →
  forced inlining (bloat + LLM-reliability + patch-divergence). Fix: `defs` +
  {apply} (§2.8) — named, parameterised, NON-recursive (validated DAG, fully
  inlinable so the static gas bound holds), pure-in-params (read params + const,
  not state) so a def applies to in-flight computed values.
- G2: a pure transition had no specified way to INVOKE a capability (§6 defined
  the wire event + policy, never the authoring trigger). Fix: effect bindings
  (§6.4) — the output dual of `events`: {on, call, args, onResult, onError}; the
  runtime brokers, result re-enters as an event; purity/determinism preserved,
  consent + egress bounds unchanged.

Clarifications the trace forced: StateLeaf defined to include nested list/record
(§1.1); transition result is a delta-merge, {set:{}} is the no-op (§2.5);
multi-field {set:{a,b,…}} (§2.2).

Consistency: §1 validity, §11 security, §12 SDK deltas, §14 conformance, rev-3.3
note; interactivity-concept v0.9. rev 3.x (binders, var, at/setAt, const, idx,
flatten, kernels, colour) all validated by the complete trace; gas never the
constraint.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@iret77 iret77 merged commit ef728a5 into main Jun 16, 2026
1 check passed
@iret77 iret77 deleted the feat/lumens-acceptance-trace branch June 16, 2026 12:17
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