Thing 2.0 build spec (Meta t12-m0) #1

Merged
libby merged 7 commits from libby/thing2-build-spec into main 2026-11-11 00:20:06 +00:00
Member

Refreshed Thing 2.0 build spec, true of the thing2 and thing rulings in force as of 2026-11-10.

What changed:

  • Status line: plain build spec, no longer a proposal awaiting review.
  • Piece 1: contract-ts/cs r3 (r2 superseded); contract-decode-tolerance, contract-refuses-nil-in-required-slots, payload-bytes-read-only.
  • Piece 9: thing:ruling:thing2-thing-owns-text; O1 fallback noted as contradicting it; O2 partly ruled.
  • Piece 13: port-cutover, wire-rename-freeze-fold, operator-compat-rebuild, surfaces-wait-for-thing2, eve-dashboards-quarantined-2, mimir-sensor-receiver-frozen, pitch-component-frozen, advertisement-owner, code-home, campaign-repo-limit, retired-repo-names. Repo count stays 13. The site work is Void's (void-body:follow_up:site-eve-present-tense); the Brokkr wire gap is gone (Brokkr main dropped the surface wire).
  • O4 (advertisement owner ruled, transport open), O11, O13 and the substrate-gap note updated.
  • docs/thing2-map.md: contract spec pointer r2 to r3.

A Soul pass blocked the first refresh on the two port-gap claims and the status line; fixed at b6e06cf.

🤖 Generated with Claude Code

Refreshed Thing 2.0 build spec, true of the thing2 and thing rulings in force as of 2026-11-10. What changed: - Status line: plain build spec, no longer a proposal awaiting review. - Piece 1: contract-ts/cs r3 (r2 superseded); contract-decode-tolerance, contract-refuses-nil-in-required-slots, payload-bytes-read-only. - Piece 9: thing:ruling:thing2-thing-owns-text; O1 fallback noted as contradicting it; O2 partly ruled. - Piece 13: port-cutover, wire-rename-freeze-fold, operator-compat-rebuild, surfaces-wait-for-thing2, eve-dashboards-quarantined-2, mimir-sensor-receiver-frozen, pitch-component-frozen, advertisement-owner, code-home, campaign-repo-limit, retired-repo-names. Repo count stays 13. The site work is Void's (void-body:follow_up:site-eve-present-tense); the Brokkr wire gap is gone (Brokkr main dropped the surface wire). - O4 (advertisement owner ruled, transport open), O11, O13 and the substrate-gap note updated. - docs/thing2-map.md: contract spec pointer r2 to r3. A Soul pass blocked the first refresh on the two port-gap claims and the status line; fixed at b6e06cf. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Thing 2.0 build spec: per-piece contracts, build order, tests, prior art
Some checks failed
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / windows-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / windows-latest eve-contracts (pull_request) Has been cancelled
e95f1ab5ba
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Reconciled with thing2:ruling:thing-script-form (typed document is the one authority; .thingscript later, parsed only by core), as relayed in the brief: I cannot read the ruling in this mind.

Changed in docs/thing2-build-spec.md:

  • O11 is no longer an open question; it states the ruling and its consequences (nothing but the typed document is authoritative; language packages build the document and parse no text; the future parser lives in thing-core beside resolve and emits a SurfaceDocument; tests are text-document-text round trip plus the existing resolve suite). No cut added; map cut order untouched.
  • Piece 3 (resolve) forbidden list: no text-syntax parser outside thing-core.
  • Substrate-gaps note: this ruling is the one exception to "no thing2:* readable".

Checked, nothing else conflicted: no other place treats a text syntax as authoritative or parses outside core (the fixture step and Slint prior art mention text languages only as prior art / package builders).

Still unchecked against their rulings (all absent from this mind): thing2:ruling:code-home, advertisement-owner (spec l.581, discovery not Thing's), port-cutover (port template, l.633), campaign-repo-limit, retired-repo-names; thing2-thing-owns-text (piece 9, l.497, and the wasm fallback caveat l.694); thing:ruling:thing2-one-solver-taffy (piece 5, l.400); and thing2:cut_spec:cut-contract-ts.r2 (l.97, l.255). Those claims rest on the map's prose only.

Not merged.

Reconciled with `thing2:ruling:thing-script-form` (typed document is the one authority; `.thingscript` later, parsed only by core), as relayed in the brief: I cannot read the ruling in this mind. Changed in `docs/thing2-build-spec.md`: - **O11** is no longer an open question; it states the ruling and its consequences (nothing but the typed document is authoritative; language packages build the document and parse no text; the future parser lives in `thing-core` beside `resolve` and emits a `SurfaceDocument`; tests are text-document-text round trip plus the existing `resolve` suite). No cut added; map cut order untouched. - Piece 3 (resolve) forbidden list: no text-syntax parser outside `thing-core`. - Substrate-gaps note: this ruling is the one exception to "no thing2:* readable". Checked, nothing else conflicted: no other place treats a text syntax as authoritative or parses outside core (the fixture step and Slint prior art mention text languages only as prior art / package builders). Still unchecked against their rulings (all absent from this mind): `thing2:ruling:code-home`, `advertisement-owner` (spec l.581, discovery not Thing's), `port-cutover` (port template, l.633), `campaign-repo-limit`, `retired-repo-names`; `thing2-thing-owns-text` (piece 9, l.497, and the wasm fallback caveat l.694); `thing:ruling:thing2-one-solver-taffy` (piece 5, l.400); and `thing2:cut_spec:cut-contract-ts.r2` (l.97, l.255). Those claims rest on the map's prose only. Not merged.
thing2 build spec: reconcile O11 with thing-script-form ruling
Some checks failed
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / windows-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / windows-latest eve-contracts (pull_request) Has been cancelled
ebafda432f
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
thing2 build spec: reconcile with rulings read from the eureka mind
Some checks failed
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / windows-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / windows-latest eve-contracts (pull_request) Has been cancelled
ee8eec41f3
decode-stack-safety is Fixed (CultLib bbb98eaf); contract-ts/cs specs are r3;
discovery reads the eve advertisement through a port until its owner lands;
O11 tooling wording follows the thing-script-form question.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Read-only pass over Eureka's mind (thing2, thing, thing-family, cultlib-gaps; nothing admitted there). Pushed ee8eec4, not merged.

Contradicted or stale (fixed in ee8eec4)

  • cultlib-gaps:follow_up:decode-stack-safety is Fixed (CultLib bbb98eaf, 2026-10-14); the spec treated it as pending in three places (fuzzing deferral, f11-deep, piece 12). Reworded: it waits only on Eve merging the pin.
  • contract-ts/cs specs cited as .r2; .r3 is in force (r2 superseded).
  • Piece 12 / 11c: advertisement-owner says Thing's contract has no advertisement and core reads the eve advertisement through a port until the owner lands (thing2:follow_up:discovery-owner-campaign); the spec now says so.
  • O11 tooling wording aligned with the thing-script-form question.
    No claim was flatly contradicted by a ruling.

O1-O13 already ruled: O11 (thing-script-form). Partly: O2 (thing2-thing-owns-text: rasterization backend-private, render contract carries shaped glyph runs, GPU backend picks Vello/Slug by measurement; canvas 2D now stands), O4's discovery half (advertisement-owner). O1's fallback still needs an operator ruling (the ruling gives core text ownership). O13 is stale: cs has reports h1-h4, ts h1, ts.r3 has no report yet.

Rulings the spec misses (not fixed, need a decision or are not small)

  • contract-decode-tolerance: CultCache refuses unknown union arms in every runtime; packages carry no check, so the spec's per-package refusal goldens should exercise CultCache, not package code.
  • contract-refuses-nil-in-required-slots, payload-bytes-read-only: contract invariants; spec says "no contract change".
  • surfaces-wait-for-thing2, eve-dashboards-quarantined-2, and the *-operator-view-on-thing2 follow-ups (ymir, weksa, mimir, muninn): port cuts should absorb these rebuilds; the port template names none.
  • operator-compat-rebuild: Eve-typed stores are deleted and rebuilt, no compatible ids; the port template does not say so.
  • campaign-repo-limit: only thing2:target:r1 exists; target r2 with the 13 repos is not admitted, so no port can be specced yet.
  • Port list omits gamecult-site (thing2:follow_up:site-thing1-surface) and Brokkr (thing:follow_up:brokkr-wire-unhomed).

CultLib-relevant open items: union-parity-and-unknown-arms, cultnet-message-union-unknown-arm, cultnet-paths-under-guard, rs-catalog-empty-members, rust-missing-slot-vs-reference (thing2's result-missing-slot golden is dropped until it lands), cultcache-ts-readonly-list-name, inspector-cs8619-warnaserror, encode-stack-safety, non-square-asset-golden (contract-rs), discovery-owner-campaign (typed advertisement owner: CultLib CultMesh or Odin), eve-quarantine-remainder (CultLib samples/eve-*).

Read-only pass over Eureka's mind (thing2, thing, thing-family, cultlib-gaps; nothing admitted there). Pushed ee8eec4, not merged. **Contradicted or stale (fixed in ee8eec4)** - `cultlib-gaps:follow_up:decode-stack-safety` is Fixed (CultLib `bbb98eaf`, 2026-10-14); the spec treated it as pending in three places (fuzzing deferral, `f11-deep`, piece 12). Reworded: it waits only on Eve merging the pin. - contract-ts/cs specs cited as `.r2`; `.r3` is in force (r2 superseded). - Piece 12 / 11c: `advertisement-owner` says Thing's contract has no advertisement and core reads the eve advertisement through a port until the owner lands (`thing2:follow_up:discovery-owner-campaign`); the spec now says so. - O11 tooling wording aligned with the `thing-script-form` question. No claim was flatly contradicted by a ruling. **O1-O13 already ruled**: O11 (thing-script-form). Partly: O2 (`thing2-thing-owns-text`: rasterization backend-private, render contract carries shaped glyph runs, GPU backend picks Vello/Slug by measurement; canvas 2D now stands), O4's discovery half (advertisement-owner). O1's fallback still needs an operator ruling (the ruling gives core text ownership). O13 is stale: cs has reports h1-h4, ts h1, ts.r3 has no report yet. **Rulings the spec misses (not fixed, need a decision or are not small)** - `contract-decode-tolerance`: CultCache refuses unknown union arms in every runtime; packages carry no check, so the spec's per-package refusal goldens should exercise CultCache, not package code. - `contract-refuses-nil-in-required-slots`, `payload-bytes-read-only`: contract invariants; spec says "no contract change". - `surfaces-wait-for-thing2`, `eve-dashboards-quarantined-2`, and the `*-operator-view-on-thing2` follow-ups (ymir, weksa, mimir, muninn): port cuts should absorb these rebuilds; the port template names none. - `operator-compat-rebuild`: Eve-typed stores are deleted and rebuilt, no compatible ids; the port template does not say so. - `campaign-repo-limit`: only `thing2:target:r1` exists; target r2 with the 13 repos is not admitted, so no port can be specced yet. - Port list omits gamecult-site (`thing2:follow_up:site-thing1-surface`) and Brokkr (`thing:follow_up:brokkr-wire-unhomed`). **CultLib-relevant open items**: `union-parity-and-unknown-arms`, `cultnet-message-union-unknown-arm`, `cultnet-paths-under-guard`, `rs-catalog-empty-members`, `rust-missing-slot-vs-reference` (thing2's result-missing-slot golden is dropped until it lands), `cultcache-ts-readonly-list-name`, `inspector-cs8619-warnaserror`, `encode-stack-safety`, `non-square-asset-golden` (contract-rs), `discovery-owner-campaign` (typed advertisement owner: CultLib CultMesh or Odin), `eve-quarantine-remainder` (CultLib `samples/eve-*`).
Merge remote-tracking branch 'origin/main' into libby/thing2-build-spec
All checks were successful
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Successful in 2m2s
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Successful in 2m35s
3136ee8b80
thing2 build spec: refresh against rulings in force
Some checks failed
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Has been cancelled
9eb099be4d
Cite code-home, port-cutover, compat-rebuild, freeze-fold, owns-text,
quarantine and frozen-surface rulings; note site and Brokkr port gaps;
close O11/O13 and the substrate-gap note; map pointer to r3 specs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
thing2 build spec: mark union-parity follow-up resolved
Some checks failed
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Has been cancelled
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Has been cancelled
366774dc4c
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
thing2 build spec: drop Brokkr gap, point site gap at Void, remove unsupported status claims
All checks were successful
Portable Eve contracts and browser lowering / ubuntu-latest eve-browser-lowering (pull_request) Successful in 3m6s
Portable Eve contracts and browser lowering / ubuntu-latest eve-contracts (pull_request) Successful in 3m46s
b6e06cf89a
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit 159ad486e5 into main 2026-11-11 00:20:06 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Thing!1
No description provided.