Skip to content

feat(provenance): rung 3e, path provenance as graded accumulation - #51

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/new-session-up7579
Oct 27, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
claude/new-session-up7579

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Rung 3e: what a trace carries (echo-types bridge)

Cut.lean answered where a well-typed trace may go. Marches/Provenance.lean answers what it carries.

Theorems (all PROVEN by lake build, all axiom-free)

Level Statement Name
Words Accumulation along a word is a monoid homomorphism (⊗-assoc + both units) Grade.accum_append, accum_map
One region The end signature of a tropical run is start ⊗ carried(word) TropicalGrade.run_eq_seq_carried
One region A non-empty word carries a non-unit grade; no_return falls out carried_cons_ne_one, no_return_of_carried
Interface A crossing trace is A-word · cross · B-word, from typing alone trace_cross_shape
Interface What crosses is the A-signature at the crossing, seen from B only through τ; its fibre is Interface.fibre Interface.fibre, Interface.carried, trace_cross_lands
Region DAG The grade reaching a cut, or a crossing out of ↓r, is accumulated by a trace of the prefix alone (conditional on Acyclic) DiscSys.carried_in_cut, carried_to_cross_in_past
Exhibits Identity crossing carries the grade intact; a collapsing crossing forgets it while the fibre still distinguishes id_carries, zero_forgets, zero_fibre_distinguishes, collapse₀, collapse₁

The bridge

echo-types' Echo f y := Σ x, f x ≡ y is, by its own README, "the standard preimage fiber". Interface.fibre is that fibre for the crossing map, in marches' own terms; nothing Agda is imported or re-declared. echo-types is pinned at 1073d60 as a fourth sibling (fetch-siblings.sh, check-correspondence.sh regex, track-siblings.yml), and docs/kcut-correspondence.adoc gains KC-9 to KC-12, all ASSUMED under F6. KC-12 records a finding: accumulation needs the ⊗-monoid, which K-4's two laws do not supply.

Gates (verbatim in STATE.adoc)

  • lake build → Build completed successfully (16 jobs).
  • grep -rnw sorry Marches/ Marches.lean → empty
  • #eval orbit → [(false, false), (true, true), (false, false), (true, true)]
  • #print axioms on the 20 new declarations → none (one first proof picked up propext via Nat.add_left_cancel and was reproved)
  • scripts/check-correspondence.sh → PASS: 24 Lean names and 21 sibling names exist at the pins; both negative controls refused; a fabricated echo-types name was also run through it and refused
  • actionlint 1.7.7, shellcheck, Asciidoctor clean on the edited files

CI on the head: all 11 checks green, including build (the Lean CI, now that #50 moved ci.yml and actions.lock to lean-action@v1.6.2 together) and CodeRabbit with no actionable comments.

Rung 3 stays OPEN on 3d and 3f; no tag.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VTeVWDEJgdYKsUNr4uhnXX

Marches/Provenance.lean answers what a well-typed trace carries, as
Cut.lean answered where it may go. Words accumulate a grade in a
⊗-monoid (accum_append: a monoid homomorphism). In one tropical region
the end signature of a run is the start ⊗ the carried grade
(run_eq_seq_carried), and a non-empty word carries a non-unit grade. A
two-region trace that crosses is an A-word, the crossing, a B-word
(trace_cross_shape, typing alone); what crosses is the A-signature at
the crossing, which B sees only through τ, so Interface.fibre (the
preimage fibre of τ) is what was carried and cannot be seen. In the
region DAG the grade reaching a cut, or a crossing out of ↓r, is
accumulated by a trace of the prefix alone. Exhibits: an identity
crossing carries the grade intact; a collapsing one forgets it while
the fibre still distinguishes.

echo-types is pinned at 1073d60 as a fourth sibling (fetch-siblings.sh,
check-correspondence.sh, track-siblings.yml); KC-9 to KC-12 pair the
fibre and the law set, all ASSUMED under F6. Nothing Agda is imported.

Gates: lake build green (16 jobs); grep -rnw sorry empty; #eval orbit
unchanged; #print axioms none on all 20 new declarations;
check-correspondence.sh PASS (24 Lean, 21 sibling names). Rung 3 stays
open on 3d and 3f; no tag.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VTeVWDEJgdYKsUNr4uhnXX
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: e8badc6e-08dd-40a3-9679-77abb038d41f
Commits

Reviewing files that changed from the base of the PR and between 8fb519f and d4d0c92.

Files selected for processing: 10
  • .github/workflows/track-siblings.yml
  • FALSIFIERS.adoc
  • Marches.lean
  • Marches/Provenance.lean
  • README.adoc
  • ROADMAP.adoc
  • STATE.adoc
  • docs/kcut-correspondence.adoc
  • scripts/check-correspondence.sh
  • scripts/fetch-siblings.sh

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Recent review details
Context from checks skipped due to timeout: 6
  • GitHub Check: semgrep-cloud-platform/scan
  • GitHub Check: estate / hygiene
  • GitHub Check: estate / manifests
  • GitHub Check: estate / governance
  • GitHub Check: build
  • GitHub Check: CodeQL Analysis (actions, none)
Additional context used
Code guidelines: 1
CLAUDE.md — auto-discovered
Path-based instructions: 1
Source excerpt: UK English.

CodeRabbit inference engine (CLAUDE.md)

Files:

  • ROADMAP.adoc
  • README.adoc
  • FALSIFIERS.adoc
  • STATE.adoc
Additional comments: 10
Marches/Provenance.lean: 1

1-391: LGTM!

README.adoc: 1

150-173: LGTM!

Also applies to: 175-176, 245-249

docs/kcut-correspondence.adoc: 1

40-47: LGTM!

Also applies to: 132-179, 216-218

FALSIFIERS.adoc: 1

65-70: LGTM!

Marches.lean: 1

13-13: LGTM!

.github/workflows/track-siblings.yml: 1

5-5: LGTM!

Also applies to: 59-60

scripts/fetch-siblings.sh: 1

14-14: LGTM!

Also applies to: 35-35

ROADMAP.adoc: 1

76-80: LGTM!

STATE.adoc: 1

3-63: LGTM!

Also applies to: 347-348

scripts/check-correspondence.sh: 1

62-62: 📐 Maintainability & Code Quality

The Bash syntax check passes for both scripts.

bash -n scripts/check-correspondence.sh scripts/fetch-siblings.sh exits with status 0, so no syntax issue remains.

📝 Summary

Summary by CodeRabbit

  • New Features
    • Added formal results for graded label accumulation, tropical run behaviour, crossing traces, interface fibres and cut-locality.
    • Added examples showing how interfaces preserve or collapse provenance information.
  • Documentation
    • Updated the project status, roadmap and correspondence tables to include the new results and their relationship to echo-types.
  • Chores
    • Added echo-types to the pinned sibling checks and correspondence validation.

The change adds Lean results for grade accumulation, crossing traces, interface fibres and cut prefixes. It also updates the echo-types pin, correspondence checks and project records.

Changes: Provenance and correspondence

Layer / File(s) Summary
Grade accumulation and tropical results
Marches/Provenance.lean, README.adoc, docs/kcut-correspondence.adoc, FALSIFIERS.adoc
Adds a grade monoid and list accumulation laws. Proves tropical run and non-return results, and records the accumulation correspondence and its stated limitations.
Crossing traces and interface fibres
Marches/Provenance.lean, README.adoc, docs/kcut-correspondence.adoc
Characterises traces containing a crossing and defines the carried A-signature in the landing-point fibre. Adds identity and collapsing examples and records the KC-9 and KC-10 comparisons.
Grade results for cut prefixes
Marches/Provenance.lean, README.adoc, docs/kcut-correspondence.adoc
Adds theorems relating grades of traces to prefixes in cuts and principal past cuts. Documents the cut-locality correspondence in KC-11.
Echo-types checks and milestone records
Marches.lean, .github/workflows/track-siblings.yml, scripts/*, docs/kcut-correspondence.adoc, README.adoc, ROADMAP.adoc, STATE.adoc
Adds the echo-types commit pin and sibling checks. Adds the KC-9 to KC-12 correspondence records and updates the rung 3e status and validation records.

Priority: Normal

Estimated code review effort: 4 (Complex) | ~45 minutes

Change: Feature

Merge Risk: Minimal · up to d4d0c

No actionable issue remains from this review. The change is mergeable after normal project checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title names the change accurately: it adds the rung 3e provenance module, Marches/Provenance.lean, which models path provenance as graded accumulation. It is specific and follows the conventional-…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The pull request description directly matches the changeset. It describes the new provenance module, graded accumulation, crossing interfaces, echo-types bridge, documentation updates, and validation …
Full details: Title check

Explanation

The title names the change accurately: it adds the rung 3e provenance module, Marches/Provenance.lean, which models path provenance as graded accumulation. It is specific and follows the conventional-commit form. The title does not mention the echo-types bridge or the pin and CI changes, which is acceptable because it names the primary change.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 2 files. (8 skipped: 8 unsupported.)

Full details: Description check

Explanation

The pull request description directly matches the changeset. It describes the new provenance module, graded accumulation, crossing interfaces, echo-types bridge, documentation updates, and validation gates.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@linear-code
linear-code Bot marked this pull request as ready for review October 27, 2026 05:54
@hyperpolymath
hyperpolymath merged commit 0e79c31 into main Oct 27, 2026
11 checks passed
@hyperpolymath
hyperpolymath deleted the claude/new-session-up7579 branch October 27, 2026 10:56
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.

1 participant