You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
executable-surface closure — whether every syntax/IR shape already admitted by CellScript is complete, bounded, shape-gated, compile-time-only, or reserved; and
product capability completeness — whether important CKB protocol workflows have a first-class language, artifact, builder, and evidence model at all.
The current executable-surface registry is valuable and should remain authoritative for admitted compiler shapes. It cannot prove that no important capability is missing outside the current AST/IR universe.
This issue creates a durable capability-gap ledger and connects it to the post-0.25 strategy without weakening the 0.25 scope freeze.
Why the distinction matters
A registry can be complete over its declared entries while an entire product-level feature remains unmodeled:
flowchart TB
ALL["CKB protocol capability space"] --> IN["Admitted CellScript surface"]
ALL --> OUT["Not-yet-modeled capabilities"]
IN --> COMPLETE["complete / bounded"]
IN --> SHAPE["shape-gated"]
IN --> RESERVED["reserved / fail-closed"]
OUT --> BUNDLE["multi-artifact ProtocolBundle"]
OUT --> ROLES["typed cross-Script roles"]
OUT --> HANDLE["interface-bound Script handles"]
OUT --> TEMP["typed temporal domains"]
OUT --> COMMIT["typed committed substate"]
REG["Executable-surface registry"] --> IN
REG -. "does not enumerate" .-> OUT
Loading
Without this distinction, wording such as “the only remaining feature gap” can accidentally mean either:
the only reserved entry in the current registry; or
the only product capability CellScript lacks.
Only the first claim can be established by enumerating the existing compiler surface.
The executable-surface JSON remains the machine truth for admitted compiler entries. A separate capability ledger may reference those IDs but must not duplicate or overwrite their statuses.
These issues are not all release blockers. The ledger must distinguish priority and stabilization state rather than presenting a flat “missing features” list.
These are not additional language features. They are prerequisites for making higher-level composition and upgrade claims reproducible and inspectable.
Required strategy wording
Post-0.25 planning should use wording equivalent to:
Bounded lifecycle collection execution is the highest-risk consensus-semantic gap already admitted into CellScript syntax and IR. It remains a candidate workstream until Evidence Review accepts its use cases, owner, reviewer, capacity, and stop conditions.
It should avoid an unqualified claim that bounded collections are the only missing product capability.
The strategy should also say:
0.25 remains a stability and release-closure line;
Summary
Document a precise distinction between:
The current executable-surface registry is valuable and should remain authoritative for admitted compiler shapes. It cannot prove that no important capability is missing outside the current AST/IR universe.
This issue creates a durable capability-gap ledger and connects it to the post-0.25 strategy without weakening the 0.25 scope freeze.
Why the distinction matters
A registry can be complete over its declared entries while an entire product-level feature remains unmodeled:
flowchart TB ALL["CKB protocol capability space"] --> IN["Admitted CellScript surface"] ALL --> OUT["Not-yet-modeled capabilities"] IN --> COMPLETE["complete / bounded"] IN --> SHAPE["shape-gated"] IN --> RESERVED["reserved / fail-closed"] OUT --> BUNDLE["multi-artifact ProtocolBundle"] OUT --> ROLES["typed cross-Script roles"] OUT --> HANDLE["interface-bound Script handles"] OUT --> TEMP["typed temporal domains"] OUT --> COMMIT["typed committed substate"] REG["Executable-surface registry"] --> IN REG -. "does not enumerate" .-> OUTWithout this distinction, wording such as “the only remaining feature gap” can accidentally mean either:
Only the first claim can be established by enumerating the existing compiler surface.
Proposed documentation taxonomy
Every tracked capability should declare:
The executable-surface JSON remains the machine truth for admitted compiler entries. A separate capability ledger may reference those IDs but must not duplicate or overwrite their statuses.
Initial capability ledger
Admitted but reserved consensus/runtime work
Not yet modeled as first-class product capabilities
Sincedomains.These issues are not all release blockers. The ledger must distinguish priority and stabilization state rather than presenting a flat “missing features” list.
Toolchain correctness and product gaps
These are not additional language features. They are prerequisites for making higher-level composition and upgrade claims reproducible and inspectable.
Required strategy wording
Post-0.25 planning should use wording equivalent to:
It should avoid an unqualified claim that bounded collections are the only missing product capability.
The strategy should also say:
Relationship diagram
graph TD F["0.25 stable closure"] --> C1["#7 bounded consume"] C1 --> C2["#8 bounded create correspondence"] F --> PB["#9 ProtocolBundle prototype"] PB --> XR["#10 typed cross-Script roles"] PB --> IH["#11 exact interface-bound handles"] XR --> OPEN["open-role stabilization"] IH --> OPEN F --> TT["#12 typed temporal domains"] F --> CS["#13 committed substate research"] ASSURE["semantic assurance / checker / CKB-VM"] --> C1 ASSURE --> C2 ASSURE --> PB ASSURE --> XR ASSURE --> IH ASSURE --> TT ASSURE --> CSThis is a dependency map, not a release schedule.
Documentation changes
Update the appropriate tracked documents after the post-0.25 strategy is accepted:
Add a short rule to the documentation conventions:
Completion criteria
Non-goals
References