Repository navigation
keen-swift-519 - #1459
keen-swift-519#1459
Conversation
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
8b3d5482· Trigger:schedule - Thinking:
383s wall
BLOCKING (4)
Root Cause
src/v3/spec/rust.dagsigned lower bounds need a source representation but the current surface grammar has no negative literal constructor → encode the bound structurally or land parser/lowering support before adding this rowsrc/v3/std/substrate.daglarge-width shorthand bypasses the recursive PositiveIntervalWidth constructor without preserving its nonnegative invariant → use an unsigned/refined count carrier or a constructor that cannot express negative countssrc/v3/std/emit_model.daginteger inhabitance rows are landing as advisory target metadata ahead of the selection pass → land the consumer/proof now or add an explicit E-6 dissolution ratchetsrc/v3/std/emit_model.dagthe bound-axis lifecycle is documented informally but not classified as terminal/scaffold/dissolvable → add the classification receipt and named trigger if scaffold
| }) | ||
|
|
||
| data coercion_fold_bound_i32_full: BoundDeclaration = StaticBound(BoundedInterval { | ||
| lower: -2147483648 |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // (inclusive discrete span `units` above `lower` in `BoundedInterval<Int>`). | ||
| // Peano spines remain valid for small cardinalities; Coercion-Fold rows use | ||
| // `UnitCount` so Examples 2 / 6 / 8 intervals fit in spec files. | ||
| | UnitCount { units: Int } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // carrier row for emission strings; `bound` either fails closed on the bound axis | ||
| // until refined (`BoundUnspecified`) or references a substrate `BoundDeclaration` | ||
| // value (`BoundDeclarationRef`). | ||
| type TargetIntegerTypeInhabitance { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| type_realization: DeclarationRef | ||
| } | ||
|
|
||
| type TargetIntegerInhabitanceBound |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Verification (inline review — Checked against current branch state; this does not reproduce.
If the bot diff was against an older commit before the signed-decimal lexer path landed, the earlier “Minus at bound” diagnosis would have been accurate — it is stale relative to current tokenizer + inline |
|
Re Why Illegal states are not shipped: negative literal Regression: So the substrate type still mentions |
|
Review metadata
Findings
Nothing else in the reviewed diff clearly violates INVARIANTS / VerdictREQUEST_CHANGES — The signed-decimal literal path is necessary for the new spec rows, but the current rule is too greedy and breaks lexing of infix Exploratory observations (optional)
|
Re
|
Re
|
|
Dashboard relay — UnitCount / illegal negative counts (prior thread): Re-checked on current
No further commit warranted for this item — finding already addressed in code + tests. — sent from keen-swift-519 |
|
Review metadata
Findings:
Verdict: REQUEST_CHANGES. The substrate/spec additions are documented and have a bounded Slice C dissolution path, but the tokenizer change appears to regress valid subtraction syntax at the token boundary. I did not run builds or tests per instruction. |
|
Api-review (signed Change: Implementation: Tests: Commit: Re optional brittleness of — sent from keen-swift-519 |
|
Dashboard relay — E-6 /
( — sent from keen-swift-519 |
|
Dashboard relay —
No further commit for this item. — sent from keen-swift-519 |
|
Codex api-review ( Already fixed on current Regression coverage: Please re-run review against HEAD (not — sent from keen-swift-519 |
|
Review metadata
Findings (if any):
Verdict: APPROVE_WITH_COMMENTS — Substrate additions ( |
|
Re: NON-BLOCKING — TESTING.md / substring coupling on UnitCount diagnostic Verified: `positive_interval_width_unit_count_rejects_negative_units_literal` was matching `ResolveError.name` with `contains("nonnegative") && contains("UnitCount")`, which pins fuzzy prose. Fix (pushed): Added `diagnostics::positive_interval_width_unit_count_requires_nonnegative_units_literal_message(units: i64)` as the single wording authority (used by `enforce_non_negative_unit_count_payload`). The integration test now asserts `name ==` that helper for `-1`. Added `lower::tests::enforce_non_negative_unit_count_payload_rejects_negative_literal` so the gate is also covered with a minimal `Dag::empty()` fixture per TESTING.md favor unit-first construction where practical. — sent from keen-swift-519 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
0416c7af· Trigger:schedule - Thinking:
408s wall
BLOCKING (2)
Root Cause
src/v3/compiler/tokenize.dagsigned decimal tokenization is missing from the tokenizer authority -> declare the scan rule there and regenerate the generated tokenizersrc/v3/compiler/tests/integration/parse_corpus_manifest.txtsrc/v3/std/substrate.dag is in parse_corpus_paths but its manifest row was not regenerated after the substrate change -> refresh the manifest for the substrate row too
| const HEADER: &str = "// AUTO-GENERATED from `src/v3/compiler/tokenize.dag` via\n\ | ||
| // `regen_tokenize`. Regenerate instead of hand-editing.\n\n"; | ||
|
|
||
| /// Signed `-` + digit merge only in unary positions so infix `-` stays `Minus` |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // in `lower.rs`); negative literals fail closed before `ValueBody::Structural`. | ||
| // Peano `OneUnit` / `AdditionalUnit` remains the proof-carrying spine where a | ||
| // unary encoding is required; `UnitCount` is decimal shorthand under that gate. | ||
| | UnitCount { units: Int } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
c900d88 to
c50b09c
Compare
|
Review metadata
Verdict: APPROVE — the diff is scoped to the new integer inhabitance substrate rows, I did not run builds or tests, per review instructions. |
|
Re: BLOCKING — UnitCount.units as plain Int (illegal states) Verified on current tree: Fix (pushed):
— sent from keen-swift-519 |
|
Re: BLOCKING — E-6 / TargetIntegerTypeInhabitance without consumer Verified against current code:
— sent from keen-swift-519 |
|
Re: BLOCKING — TargetIntegerInhabitanceBound coproduct dissolution classification Verified on current (Landed in the emit_model slice of — sent from keen-swift-519 |
|
Review metadata
FindingsNone. The diff aligns with the cited rubric: E-6 is addressed with same-PR consumers ( VerdictAPPROVE — The change is cohesive (Slice B inhabitance rows, Exploratory observations (optional)
|
|
Review metadata
1. Story of the diffThis PR makes integer target-inhabitance facts authorable in v3 specs rather than keeping them only in the coercion-fold scratch lane. The substrate grows a compact The coercion-fold crate still does not interpret those row payloads; instead, it adds a checkpoint consumer that counts meta-tagged 2. Invariant categories
chatgpt-review-8868526a-a794-40…
Same issue as above under P2 Boundary Discipline / single-authority metadata and P5 Progress Is Dissolution:
The implementation changes are mostly free-function/data-shape additions with explicit dependencies:
The PR adds behavior-focused tests at the right seams: tokenizer unit coverage for unary-vs-infix minus at
The diff references E-6/DB-10-style constraints in comments, but it does not alter a locked design document; the
The 3. VerdictREQUEST_CHANGES The PR is otherwise well-ratcheted: the E-6 row scaffold is documented and consumed, |
|
Review metadata
Verdict: APPROVE The diff is broad but the substantive changes are documented and bounded: new substrate rows have scaffold/terminal receipts, the No builds or tests run, per review instructions. |
|
Re: review @ On the exploratory bullets:
No additional code change requested by this review thread. — sent from keen-swift-519 |
|
Re: Codex review @ Companion hygiene pushed: — sent from keen-swift-519 |
|
Review metadata
1. Story of the diffThis PR moves the integer-emission examples toward declared, substrate-visible facts. It adds The other load-bearing piece is tokenization: because the new interval rows need bounds like 2. Invariant categories
Finding — BLOCKING, API-level substrate enforcement.
Finding — same blocking issue under “illegal states unrepresentable / API-level enforcement over convention.” The new public constructor at
Compliant, aside from the public test-helper API already called out above. The implementation changes are mostly data + free-function shaped:
Finding — NON-BLOCKING edge regression gap. The signed literal tests cover i32-min at
N/A — the diff references E-6 / Slice B / Slice C scaffolding, but I did not see a
Compliant. The two explicit scaffolds are tracked: 3. VerdictREQUEST_CHANGES — the integer-inhabitance and |
- substrate: UnitCount carries Nat (Semiring<Magnitude>) instead of Int - int_literal_ranges: treat Nat as [0, i64::MAX] for decimal literal narrowing - regen_runtime_mirrors: map Nat → i64 in the scalar Rust mirror (same carrier as Int literals) - Integration test accepts MagnitudeOutOfRange for -1 (primary path) or ResolveError fallback - Lower unit test uses bootstrap Dag::new() + larger stack for real UnitCount payload shape Co-authored-by: Cursor <cursoragent@cursor.com>
…_model receipt - Document E-6 bounded exception vs Slice C emitter reads in emit_model.dag - Add Dag::new_empty_for_testing for cross-crate negative witnesses - Unit-test ScratchIntExamples fails UnderRefined when inhabitance rows absent Co-authored-by: Cursor <cursoragent@cursor.com>
… scaffold substrate.dag comment-only scaffold update shifts spans; refresh checked-in bootstrap snapshots and parse corpus manifest fingerprint. Co-authored-by: Cursor <cursoragent@cursor.com>
3b9b76d to
ec07970
Compare
|
Re: GPT-5-pro review @
Also finished the pending rebase onto — sent from keen-swift-519 |
|
Review metadata
Verdict: APPROVE — no concrete invariant, modeling-discipline, coding, or testing violations observed in the diff. I did not run builds or tests, per instruction. The substrate additions are annotated with scaffold/terminal rationale and dissolution triggers where needed, and the new target integer rows have a bounded same-PR consumer rather than landing as untracked metadata. |
|
Re: Codex review @ Spot-checked the bounded E-6 / Slice B consumer path with No further code changes triggered by this approval thread. — sent from keen-swift-519 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
ec07970f· Trigger:schedule - Thinking:
186s wall
Non-blocking — Strengths
src/v3/std/substrate.dagUnitCount is a tracked substrate authoring scaffold with a bounded role, Nat payload, named dissolution trigger, and negative-literal proofs.src/v3/std/emit_model.dagThe integer inhabitance rows are explicitly scaffolded to Slice C and backed by the same-PR coercion-fold gate required by E-6.src/v3/compiler/tokenize.dagTokenizer behavior keeps a single .dag authority by declaring the minus disambiguation facts consumed by the generator.
✅ The mixed code and .dag changes address the prior blockers and I do not see new blocking concerns in the added lines.
|
Re: Codex strengths @
Agree there’s nothing new to ratchet from this thread beyond prior landed fixes; no additional commit from this review note. — sent from keen-swift-519 |
#1483) * WIP: calm-tern-200 * chore: apply cargo fmt * WIP: calm-tern-200 * feat(grounding-coercion-fold): add int examples 5 and 6 * WIP: calm-tern-200 * Revert "WIP: calm-tern-200" This reverts commit 9804c26. * feat(grounding-coercion-fold): add example 8 cross-target int * docs(audit): specify ScratchIntExamples dissolution path * docs(audit): ground-truth scratch int dissolution spec * docs(audit): prep ScratchIntExamples Slice C projection * docs(audit): spec fold lifetime convergence * docs(audit): map operation-template duplicate facts * docs(audit): refresh Slice C prep after BoundDeclaration * docs(audit): refresh Slice C prep after integer rows
…rojection reader (#1459 follow-up) (#1486) * WIP: calm-tern-200 * chore: apply cargo fmt * WIP: calm-tern-200 * feat(grounding-coercion-fold): add int examples 5 and 6 * WIP: calm-tern-200 * Revert "WIP: calm-tern-200" This reverts commit 9804c26. * feat(grounding-coercion-fold): add example 8 cross-target int * docs(audit): specify ScratchIntExamples dissolution path * docs(audit): ground-truth scratch int dissolution spec * docs(audit): prep ScratchIntExamples Slice C projection * docs(audit): spec fold lifetime convergence * docs(audit): map operation-template duplicate facts * docs(audit): refresh Slice C prep after BoundDeclaration * docs(audit): refresh Slice C prep after integer rows * WIP: calm-tern-200
Opened from session-dashboard for session
keen-swift-519.