Repository navigation
Release Jun1 release-note truth table (external-reviewer-suggested artifact for v0.1.0 GH Release body): author docs/release/v0.1.0-release-notes.md as a SEPARATE FILE from docs/RELEASE_v0.1.0.md (which is maintainer-facing per operator default Q2; this file is the source-of-truth text operator past - #4005
briansrls wants to merge 2 commits into
Conversation
Source-of-truth text for the v0.1.0 GitHub Release body. Separate from the maintainer-facing RELEASE_v0.1.0.md (release-day checklist) — this file is what gets pasted into the public Release description. Format follows external-reviewer suggestion: candid truth table of what works (build from source, Rust/Python/Go/DAG emission, v2 pipeline), what's planned but not shipped (install.sh, package managers, prebuilt binaries), and what's in flight (v4 substrate, execute-verified runners). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Review metadata
1. Story of the diffThis PR adds a new public-facing release note file, 2. Invariant categories
2.5. Top-down PM intent reviewFinding. The PM intent for a public “truth table” release artifact is honesty about what is proven today versus what remains out of scope. 3. VerdictREQUEST_CHANGES. The release note is otherwise well-shaped and appropriately separates shipped, partial, and deferred v0.1.0 capabilities, but the opening guarantee overclaims the thesis in a public source-of-truth artifact. Narrow that sentence to the modeled-system/structural-soundness guarantee and this looks approvable. |
openai-pro review on #4005 (REQUEST_CHANGES) flagged the opening guarantee as over-claiming THESIS.md:13-15. Tighten "will execute as declared" to the structural-soundness-inside-the-modeled-system framing the thesis actually authorizes, and call out external reality as the explicit gap (consistent with the truth table's 🟡 row on execute-verified runners). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Review metadata
1. Story of the diffThis PR adds a new user-facing release-note artifact at 2. Invariant categories
2.5. Top-down PM intent reviewCompliant. The highest-level release intent appears to be an honest public release body that does not overstate v0.1.0: it narrows the thesis guarantee to modeled-system soundness at 3. VerdictAPPROVE. The PR is a clean documentation addition that scopes the release claim correctly, preserves the v2/v4 and build-from-source boundaries, and records unshipped distribution / verification work as visible release limitations rather than hidden debt. |
Operator flipped D-REL-1 posture 2026-05-30 to flavor (iv): v3 + v4 substrate ships public in v0.1.0 labeled alpha / WIP — no Wave-2 predicate-closure gating, honest error count documented (~7,951 v4 rustc errors), bar is "compilable bootstrap". Fail-closed: if v4 doesn't compile at tag time, README + SUPPORTED.md flip the alpha label to pre-alpha/experimental — no scope strip, no tag delay. Plus PM clarification: TypeScript surface authoritatively resolved. v0.1.0 supported emit targets = Rust + Python + Go (the three v2 emits). TypeScript = v4-alpha-only, lives in SUPPORTED.md's v4-alpha section, not part of the v2 supported contract. Changes across the doc: - D-REL-1 row REWRITTEN: ship public labeled alpha/WIP; no gating; fail-closed = label flip, not strip. - D-REL-3b: Rust + Python + Go (authoritative ruling); TS = v4-alpha. - D-REL-4 status: removes "v3/v4 are stripped" claim. - D-REL-5 status: rationale updated — releases under (iv) because v0.1.0's supported contract doesn't depend on v4 predicate-closure. - Scope-revision section: explicit reconciliation paragraph — "stripped" vs "explicitly unsupported" is now case-by-case (process docs vs in-progress substrate). - Non-goal #1: REVISED to reflect (iv) — no longer strips v4. - Non-goal #5 (src/v3): REVISED to reflect (iv). - Non-goal #10 (v4-done predicates): drops Wave-2 gating; predicates documented honestly in SUPPORTED.md, not used as strip trigger. - Already-decided rulings: Long-term distribution scope note clarifies the (iv) flip is about substrate posture only, not distribution channels (Homebrew/.deb/APT stay v0.2.0+). - Gate B: v3/v4 substrate is alpha — not on supported contract; SUPPORTED.md per-surface labels what is/isn't claimed. - Item D (SUPPORTED.md description): adds alpha/WIP section for v3/v4 substrate and TypeScript (v4-alpha); per-surface alpha/PROVEN/GAP detail pulled from sharp-otter-407's ship-disposition supplement. - Item F (Rollback): split into leak-rollback and v4-compile-rollback; the latter encodes flavor (iv) semantics (label flip only). - §6 housecleaning: src/v3 no longer stripped. - Cross-refs: add sharp-otter-407 supplement and #4005 release-notes truth table pointers (both in flight, separate PRs). - Verification gaps V2/V3/V4: owner/ETA columns updated with the worker-dispatch references from snappy-bee-513 (post-D-REL-3b confirmation): SUPPORTED.md author, #3992 shepherd check, fresh weather-demo e2e verification worker. - publish-snapshot.sh: src/v3 and src/v4 REMOVED from STRIP_PATHS per the (iv) flip; comment block updated to reference the supersession of the older RELEASE_TODO.md §6 housecleaning legacy. PER-PR HOLD remains in effect — not self-merging; awaiting operator review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): v0.1.0 consolidated state snapshot for review
Add docs/RELEASE_v0.1.0.md — section-by-section status against
RELEASE_TODO.md so a reviewer can decide tag readiness without
re-deriving state from git log. Names the four remaining gates
before `git tag v0.1.0` and the deferred-to-post items.
Location chosen so the file survives publish-snapshot.sh §2
strip-list (only docs/{briefs,history,debt,review-findings,admin,
db-history,postmortems,audit,r3,proposals,perf,decisions} are
stripped — top-level docs/*.md are kept).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): state decided private/public sync model in §2
Per operator decision relayed by Release Jun 1 manager: public
gunb-ai/daglang is source of truth post-launch; private gunb-ai/gunbc
is a development scratchpad to keep internal session traffic off the
public repo. Sync direction inverts at the v0.1.0 tag: one-shot
force-push seed + private→public visibility flip, then v0.2.0+ work
PRs against daglang directly and private pulls from public.
Adds three open implementation questions for v0.2.0+ (inverted-flow
tooling, promotion trigger, community surface) marked as not blocking
v0.1.0. Adds the visibility flip as gating item 5.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): add goals/non-goals/acceptance criteria; note plan downgrade done
Top-of-doc checklist so reviewers can see scope and the testable conditions
for `git tag v0.1.0` in one place. §1 and gating item #1 updated to
reflect the Enterprise → org (Teams) downgrade executed by operator
2026-05-30.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): note gunb-ai/frontend is a separate repo, not part of v0.1.0
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): adopt reviewer-driven scope revision; gate A-E; add to strip-list
Substantial revision of docs/RELEASE_v0.1.0.md to anchor the reviewer's
"small, verified, fail-closed product surface" posture:
- Add scope-revision section with the reviewer posture verbatim.
- Restate the five D-REL decisions as DECIDED vs PENDING, with reviewer
recommendations as the working default for pending items.
- Apply already-decided rulings: Enterprise->Teams DONE; Homebrew/.deb/APT
IN scope (reversed defer); gunb.ai Pages site from gunb-ai/daglang;
inverted post-launch sync; dissolution comments stay; no PM jargon.
- Add SUPPORTED.md section (D-REL-3 deliverable; the heart of v0.1.0).
- Replace prior acceptance criteria with reviewer's Gates A-E.
- Add rollback plan and user-facing release-notes pointer
(docs/release/v0.1.0-release-notes.md, separate in-flight PR).
Also adds docs/RELEASE_v0.1.0.md, RELEASE_TODO.md, and WISHLIST.md to
scripts/publish-snapshot.sh STRIP_PATHS so these maintainer-facing planning
docs do not ship publicly. Collision risk with adhoc-12a071f5-04a (separate
cleanup PR adding RELEASE_TODO.md + WISHLIST.md) noted in the doc.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* WIP: Release Jun1 consolidated state doc (operator-requested, blocks v0.1.0 r
* docs(release): decouple binary target matrix from package-manager channels
Per parent clarification:
- Binary target matrix (the six musl/darwin/windows-msvc targets in
release.dag): per-target dry-run gating under D-REL-2 — drop any target
that fails the dry-run from the v0.1.0 matrix.
- Install/distribution channels: Homebrew, .deb, APT do NOT ship at
v0.1.0. They are modeled with 🟡 markers in install.dag as v0.2.0+
emission intent; the actual Formula / deb-control / apt-repo content
is not yet emitted. v0.1.0 install paths are curl install.sh
(pending PR #3992) and build-from-source.
§5 rewritten into two explicit subsections so the two axes can't be
conflated. Non-goals expanded with an explicit channels-deferred entry.
Already-decided rulings entry rewritten to state "modeled ≠ shipped".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): scope Gate D grep to user-facing docs (resolves cursor REQUEST_CHANGES)
Cursor flagged that Gate D's repo-wide grep for adhoc-/session-slug terms
contradicted the "dissolution comments stay" ruling (load-bearing model
marks in .dag files ship as-is). Gate D now explicitly scopes the grep to
user-facing docs and excludes .dag source + any path carrying load-bearing
marks, so the two policies no longer collide.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): apply maintainer review — Rust+TS surfaces, D-REL confirmations
Project maintainer review 2026-05-30 applied:
- Add working framing at top: small public release with two advertised
target surfaces (Rust + TypeScript), plus the "release sentence" the
tag must make true.
- Split D-REL-3 into D-REL-3a (source-language subset) and D-REL-3b
(target/artifact matrix = Rust + TypeScript only).
- Confirm all five D-REL decisions (1, 2, 3a, 3b, 4, 5) as DECIDED
2026-05-30, with reviewer recommendations as the agreed answers.
- Soften package-manager non-goal: "allowed only if verified before tag;
otherwise omitted from public docs and tracked for v0.1.1+". Same
language applied to Gate C, Item D, §5, and the "Distribution ruling"
block in already-decided rulings.
- Add Rust/TypeScript explicit checks to Gate A (rustc/cargo, tsc
--noEmit; absence noted in SUPPORTED.md when applicable; negative
fail-closed tests).
- Add Rust/TypeScript scope constraint to Gate E (release notes claim
only Rust + TS; other languages either labeled not-supported or
omitted).
- Item H: release notes derive *from SUPPORTED.md*, not from internal
release goals.
- Item D: SUPPORTED.md framing now declares Rust/TS per-surface support
level (full-compile vs artifact-interface) explicitly; "supports" is
never used without saying what supports means.
- Public website ruling: must obey SUPPORTED.md matrix; no broad
compiler-support claims.
- Dissolution comments tension resolved with explicit split rule: load-
bearing in source files (.dag/.rs), stripped/neutralized in user-
facing docs. Gate D's grep already enforces this.
- Add non-goal #9: source/target/artifact surfaces beyond Rust + TS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* WIP: Release Jun1 consolidated state doc (operator-requested, blocks v0.1.0 r
* docs(release): reconcile D-REL-1 with publish-snapshot; strip src/v4
Cursor REQUEST_CHANGES findings:
1. D-REL-1 was CONFIRMED (strip src/v4) but scripts/publish-snapshot.sh
only stripped four v4 markdown files — "v4 code itself stays" comment
contradicted the confirmed scope. Fixed: STRIP_PATHS now strips
src/v4 wholesale. The four individual v4 markdown entries are
subsumed and removed. Comment notes the supersession of the older
RELEASE_TODO.md §6 "Keep" list.
2. Gate B's "src/v4 stripped OR — if it ships —" branch contradicted
D-REL-1's hard strip. Removed the "if it ships" escape; Gate B now
states the strip as the only acceptable state.
3. D-REL-1 table row updated to call out the supersession of
RELEASE_TODO.md's §6 "Keep" list (that doc is itself stripped from
the public export, so the contradiction is invisible publicly but
should not exist in the maintainer doc either).
Also incorporates the nimble-crane-490 non-blocking suggestion:
non-goal #10 makes the v4-done predicate burn-down explicitly out of
scope for v0.1.0, with the predicate-state cross-check noted (0/6
PROVEN, 5 YELLOW, 1 GRAY).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): D-REL-4 status: DECIDED but enforcement PENDING
Cursor REQUEST_CHANGES: D-REL-4 was marked CONFIRMED ("strip all other
docs") but scripts/publish-snapshot.sh STRIP_PATHS does not yet strip the
root THESIS/INVARIANTS/MODELING/CODING/TESTING files or the large
docs/thesis/, docs/invariants/, docs/planning/, docs/design-* trees. A
dry-run today would export them, contradicting the confirmed scope.
Honest fix: D-REL-4 is DECIDED in principle but ENFORCEMENT PENDING. The
user-facing docs (GETTING_STARTED, LANGUAGE, CLI, EXAMPLES, SUPPORTED,
CONTRIBUTING) don't exist yet — wiring full STRIP_PATHS enforcement
before they land would leave the public export with nothing useful.
Follow-up pass before tag must (a) author the user docs and (b) extend
STRIP_PATHS to remove everything outside the keep list. Gate B and
Gate D catch the gap if this slips.
§3 note also softened from "are stripped" to "intended to be stripped;
enforcement queued as pre-tag follow-up".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): surface five pre-tag verification gaps (PM audit 2026-05-30)
Release-readiness audit from nimble-dove-733 (routed via PM still-fox-289)
flagged five evidence gaps that the gates aspire to close but that no
evidence backs:
V1. TypeScript surface unsubstantiated — no v2 emit_typescript.dag
exists; TS appears only in language catalog + v4 test claims.
D-REL-3b row updated with "⚠ NEEDS RECONCILIATION (substrate)"
flag: either land an emit_typescript lens with tsc round-trip
before tag, or amend D-REL-3b to Rust-only.
V2. docs/SUPPORTED.md does not exist; no owner, no ETA. Likely lane
surfaced (nimble-crane-490).
V3. install.sh PR #3992 STALLED (0 reviews, 0 CI). Distribution
ruling updated to flag the stall and the resolution options
(route shepherd vs drop curl-install).
V4. Weather demo end-to-end UNVERIFIED against --target rust.
V5. No verification log on Gates A-E; reviewer cannot distinguish
pre-checked from untested. Evidence convention added to gates
intro (✓ commit-sha date / ⏳ owner / ✗).
All five surfaced as a single "Pre-tag verification gaps (open)"
section between the D-REL table and the already-decided rulings, with
gap → gate mapping and explicit owner/ETA columns (PENDING where no
owner exists). These are hard blocks on tag until resolved.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): v0.1.0 targets = Rust + Go + Python; TypeScript moves to v4
Maintainer ruling 2026-05-30 post-audit: v0.1.0 advertised target surfaces
are the three v2 emit paths that already exist — Rust
(05_emit_rust.dag), Go (05_emit_go.dag), Python (05_emit_python.dag).
TypeScript becomes v4 early-support, not v0.1.0. This resolves
verification gap V1 (no v2 emit_typescript.dag exists).
Updates across the doc:
- Framing block: three surfaces, with the release-sentence updated.
- Goal #2: Rust + Go + Python with per-surface check tool named.
- Non-goal #9: TypeScript explicitly v4 early-support; C++/LLVM still out.
- D-REL-3b: CONFIRMED + RECONCILED; per-surface check tool spelled out
(rustc/cargo, go build/go vet, python -m py_compile).
- V1 row: RESOLVED.
- Gate A: separate Rust / Go / Python bullets with check commands;
per-example absence pattern preserved ("if not supposed to support X,
noted in SUPPORTED.md").
- Gate E: release notes claim only Rust + Go + Python; TS labeled
"v4 early-support".
- Item D (SUPPORTED.md description): three surfaces, full-compile vs
runnable-example levels, TS listed in out-of-scope.
- Website ruling: states the three v0.1.0 surfaces + TS as v4-future.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): fix v4-done tracker filename (cursor non-blocking note)
s/burn-down/tracker/ — actual file in tree is
docs/planning/v4-done-predicate-tracker-2026-05-30.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* WIP: Release Jun1 consolidated state doc (operator-requested, blocks v0.1.0 r
* docs(release): D-REL-1 (iv) flip — v3/v4 ship public labeled alpha/WIP
Operator flipped D-REL-1 posture 2026-05-30 to flavor (iv): v3 + v4
substrate ships public in v0.1.0 labeled alpha / WIP — no Wave-2
predicate-closure gating, honest error count documented (~7,951 v4
rustc errors), bar is "compilable bootstrap". Fail-closed: if v4
doesn't compile at tag time, README + SUPPORTED.md flip the alpha
label to pre-alpha/experimental — no scope strip, no tag delay.
Plus PM clarification: TypeScript surface authoritatively resolved.
v0.1.0 supported emit targets = Rust + Python + Go (the three v2
emits). TypeScript = v4-alpha-only, lives in SUPPORTED.md's v4-alpha
section, not part of the v2 supported contract.
Changes across the doc:
- D-REL-1 row REWRITTEN: ship public labeled alpha/WIP; no gating;
fail-closed = label flip, not strip.
- D-REL-3b: Rust + Python + Go (authoritative ruling); TS = v4-alpha.
- D-REL-4 status: removes "v3/v4 are stripped" claim.
- D-REL-5 status: rationale updated — releases under (iv) because
v0.1.0's supported contract doesn't depend on v4 predicate-closure.
- Scope-revision section: explicit reconciliation paragraph — "stripped"
vs "explicitly unsupported" is now case-by-case (process docs vs
in-progress substrate).
- Non-goal #1: REVISED to reflect (iv) — no longer strips v4.
- Non-goal #5 (src/v3): REVISED to reflect (iv).
- Non-goal #10 (v4-done predicates): drops Wave-2 gating; predicates
documented honestly in SUPPORTED.md, not used as strip trigger.
- Already-decided rulings: Long-term distribution scope note clarifies
the (iv) flip is about substrate posture only, not distribution
channels (Homebrew/.deb/APT stay v0.2.0+).
- Gate B: v3/v4 substrate is alpha — not on supported contract;
SUPPORTED.md per-surface labels what is/isn't claimed.
- Item D (SUPPORTED.md description): adds alpha/WIP section for v3/v4
substrate and TypeScript (v4-alpha); per-surface alpha/PROVEN/GAP
detail pulled from sharp-otter-407's ship-disposition supplement.
- Item F (Rollback): split into leak-rollback and v4-compile-rollback;
the latter encodes flavor (iv) semantics (label flip only).
- §6 housecleaning: src/v3 no longer stripped.
- Cross-refs: add sharp-otter-407 supplement and #4005 release-notes
truth table pointers (both in flight, separate PRs).
- Verification gaps V2/V3/V4: owner/ETA columns updated with the
worker-dispatch references from snappy-bee-513 (post-D-REL-3b
confirmation): SUPPORTED.md author, #3992 shepherd check, fresh
weather-demo e2e verification worker.
- publish-snapshot.sh: src/v3 and src/v4 REMOVED from STRIP_PATHS
per the (iv) flip; comment block updated to reference the supersession
of the older RELEASE_TODO.md §6 housecleaning legacy.
PER-PR HOLD remains in effect — not self-merging; awaiting operator
review.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(publish-snapshot): re-add v4 process docs to STRIP_PATHS
Claude REQUEST_CHANGES: by the doc's own (iv) reconciliation rule
("process docs / agent traffic = stripped; substrate in-progress =
alpha-labeled"), the four v4 process markdown files (TASKS.md,
BRIEF_TEMPLATE.md, CULTURE.md, DECISIONS.md) are agent-process traffic
and should remain stripped. The (iv) flip applies to v4 *substrate*
(code under src/v4/{std,extdeps,compiler,lens,workflow,install,test,...}),
not to these process docs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): tighten Public website ruling with marketing-surface guards
Adds explicit constraints derived from the operator's homepage-strategy
discussion (2026-05-30):
- No raw maintainer-internal figures (~7,951 rustc errors etc.) on the
marketing surface; those live in SUPPORTED.md / docs/v4-status.md.
- No install/build command on the homepage unless verified under Gate C
on every advertised target (make install / brew install / apt install
absent until distribution ruling lets them ship).
- Hero claims scoped to v0.1.0 supported contract (Rust + Python + Go,
documented subset). Omni-emission / lens-as-CI / impossible-bug
material allowed in clearly-labeled "Vision" sections, never hero or
support-claim register.
- "Impossible bug" framing scoped to bug classes PROVEN on the v0.1.0
surface; otherwise forward-looking phrasing only.
Broader homepage content strategy (hero copy candidates, demo
prioritization, three-post launch blog plan, naming stack) lives in
session memory as project-homepage-framing; that's daglang PR #1
territory, not this doc.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): ZERO OVERCLAIM posture — honest per-target Python/Go scope
Operator follow-on to flavor (iv): 'i do NOT want ANY overclaim'. Three
adjustments to enforce that across the doc:
1. Scope-revision section: add ZERO OVERCLAIM block making the
reviewer's "silently emits plausible output" anti-pattern the hard
release bar — no claim ships without evidence. Cross-reference to
silent-bee-431 + sharp-otter-407 parallel disclaimer work.
2. D-REL-3b: honest per-surface scope. Rust = full example-scale today.
Python + Go = small-smoke verified only (minimal hand-curated
fixtures). Weather and v4-substrate Python emit currently produces
invalid Python; Go emit currently fails go build. Python and Go are
therefore NOT on the v0.1.0 support contract for non-trivial inputs
— only the small-smoke surface is claimed.
3. Gate A: split per-target verification accordingly. Rust = the only
surface verified at example-scale today. Python and Go = small-smoke
only; SUPPORTED.md must enumerate the qualifying fixtures and
declare non-trivial emit as outside the support contract.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(release): refine Python/Go disclaimer with specific failure classes
Per smart-stag-871 via PM: failure class is NOT pure TCO — most TCO is
single-authority. Replace generic "invalid Python / fails go build"
wording with the actual surface bugs and v0.1.1 fix ETAs:
- Python: match-as-expression + TCO temp-decl surface bugs; fix ETA
~2-3 working days.
- Go: package/module layout + := scope issues; fix ETA ~1-2 working
days.
Disclaimer is COMMITTED for the v0.1.0 tag tomorrow; relaxation lifts to
the v0.1.1 narrative as the named fixes land. Applied in both D-REL-3b
row and Gate A per-target bullets so the doc is internally consistent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
df2f30e9· Trigger:schedule - Thinking:
269s wall
BLOCKING (3)
Root Cause
docs/release/v0.1.0-release-notes.mdRelease copy used the product/compiler name as the binary authority instead of the Cargo target authority → either change lines 18/35/37 to v2-compiler or add a real [[bin]] name = "gunbc" in the build surface.docs/release/v0.1.0-release-notes.mdDistribution-status prose was written ahead of the actual v4 install model → either add the model and tracked dissolution target in this PR or reword the row to say the install model is not yet present.docs/release/v0.1.0-release-notes.mdThe release note copied a stale or desired section name without checking the current README anchor → update the link target or rename the README heading in the same PR.
|
|
||
| | Capability | v0.1.0 | Notes | | ||
| |---|---|---| | ||
| | Build `gunbc` from source (`cargo build --release -p v2-compiler --bin gunbc`) | ✅ | Rust toolchain pinned via `rust-toolchain.toml` | |
There was a problem hiding this comment.
BLOCKING: The build command names a gunbc Cargo bin, but current Cargo metadata exposes only the v2-compiler bin and CI runs target/release/v2-compiler, so the user-facing quick start is not executable; this violates INVARIANTS P1 Documentation Describes Live State.
| | Compile `.dag` → `.dag` (round-trip) | ✅ | `--target dag` | | ||
| | Structural type checking, exhaustive pattern matching, termination proofs | ✅ | v2 pipeline; see [What gunbc proves](../../README.md#what-gunbc-proves) | | ||
| | `cargo test -p v2-compiler-tests` | ✅ | Compiler test suite | | ||
| | Curl install script (`install.sh` / `install.ps1`) | ❌ | Modeled in `src/v4/install/install.dag`; emission deferred. **v0.1.0 is build-from-source.** | |
There was a problem hiding this comment.
BLOCKING: The install row claims src/v4/install/install.dag models install.sh, but that path is absent from HEAD, git ls-files, and git ls-tree origin/main, so the release note invents a modeled/tracked authority; this violates INVARIANTS P1 Documentation Describes Live State.
| | Compile `.dag` → Python | ✅ | `--target python` | | ||
| | Compile `.dag` → Go | ✅ | `--target go` | | ||
| | Compile `.dag` → `.dag` (round-trip) | ✅ | `--target dag` | | ||
| | Structural type checking, exhaustive pattern matching, termination proofs | ✅ | v2 pipeline; see [What gunbc proves](../../README.md#what-gunbc-proves) | |
There was a problem hiding this comment.
BLOCKING: The proof link targets README.md#what-gunbc-proves, but the live README heading is What the compiler proves with anchor #what-the-compiler-proves, so the release body breaks the path to the guarantee explanation; this violates INVARIANTS P1 Documentation Describes Live State.
Auto-opened by session-dashboard for session
swift-ant-866.Pushing to
session/swift-ant-866advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan