-
Notifications
You must be signed in to change notification settings - Fork 1
refactor: align Strand with static typestates and close gap analysis specs #545
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
38 commits
Select commit
Hold shift + click to select a range
1eacd38
Fix: require posture on strand creation
flyingrobots 03a8f01
Fix: reject non-shared strand settlement
flyingrobots 2164cc4
Fix: bind session posture derivation
flyingrobots dea5381
Fix: preserve settlement shell posture
flyingrobots 334648c
Fix: update warp-wasm posture test fixtures
flyingrobots 0c7ca74
Fix: map non-shared settlement ABI errors
flyingrobots a5c45a7
Fix: clarify settlement compare posture
flyingrobots e2ec6ce
refactor: support blinded references in BraidShellMember
flyingrobots 8c56f0e
feat: implement ZK/Verkle ProofEnvelope and BraidShell integration
flyingrobots 23c1b85
feat: implement evolving Braid event log and state fold
flyingrobots d76c1de
refactor: align Strand with static typestates and fix test/lib compil…
flyingrobots 14c89ef
refactor: align Strand instantiations in warp_kernel.rs with typestate
flyingrobots d946095
docs: add design document for typestates, proofs, and braids
flyingrobots e152afc
refactor: resolve audit findings for secure sealed references and bra…
flyingrobots 6df2b5c
refactor: resolve self-review findings and align design doc spec code…
flyingrobots 801f557
Fix: replace try_into_shared NarrowingRefused with PostureMismatch
flyingrobots 967f052
Fix: rename ProofEnvelope::verify to validate_shape
flyingrobots 21b9d4a
Fix: revalidate shared settlement posture
flyingrobots 2d79e61
Fix: validate braid event application
flyingrobots 7f9d490
Fix: bind proof envelopes into shell digests
flyingrobots 183d161
Fix: harden sealed braid member identity
flyingrobots 3655c0b
Fix: export public braid result types
flyingrobots e4c3f19
Fix: require live settlement strand handles
flyingrobots b1461c2
Fix: align braid design schema docs
flyingrobots cfda386
Fix: clarify sealed braid shell queries
flyingrobots 4a7eb64
Fix: index braid member duplicates
flyingrobots 27e3ff5
Fix: reserve cryptographic proof envelopes
flyingrobots 2496c2a
Fix: clean broad clippy test gates
flyingrobots d937886
Fix: register contract packages explicitly
flyingrobots 0afdc16
Fix: clarify proof envelope validation scope
flyingrobots f8c5fa2
Fix: harden sealed braid member lookup
flyingrobots 0fe395b
Fix: resolve braid self-review findings
flyingrobots 2631976
Fix: reject mixed braid member posture
flyingrobots 6496281
Fix: reject empty braid finalization
flyingrobots 1ed6601
Fix: salt sealed settlement members
flyingrobots 6ac5387
Fix: version proof-bound braid shells
flyingrobots b8fbb2f
Fix: seal causal posture typestates
flyingrobots 0a61307
Fix: align braid error design snippet
flyingrobots File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| <!-- SPDX-License-Identifier: Apache-2.0 OR LicenseRef-MIND-UCAL-1.0 --> | ||
| <!-- © James Ross Ω FLYING•ROBOTS <https://github.com/flyingrobots> --> | ||
|
|
||
| # CI-003 — Append-Only Braid Membership | ||
|
|
||
| Legend: [WARP — Causal History] | ||
|
|
||
| ## Idea | ||
|
|
||
| Model braids as append-only witnessed relationships over strand intervals, | ||
| not as binary pairings and not as permanent strand merges. | ||
|
|
||
| A braid can begin with multiple members and later weave additional strands | ||
| into the relation without pretending those strands were present from the | ||
| beginning: | ||
|
|
||
| ```text | ||
| t0: braid B includes s0 and s1 | ||
| t1: braid B weaves in s2 | ||
| ``` | ||
|
|
||
| The source of truth should be a braid event log: | ||
|
|
||
| ```text | ||
| BraidCreated { members: [s0, s1], ... } | ||
| BraidMemberWovenIn { member: s2, ... } | ||
| ``` | ||
|
|
||
| Materialized braid views can report current membership, but historical views | ||
| must preserve membership as of the requested coordinate. | ||
|
|
||
| ## Why | ||
|
|
||
| 1. **Doctrine:** Braided does not mean settled. Related does not mean admitted. | ||
| 2. **Causality:** Weaving in `s2` at `t1` must not rewrite `t0` membership. | ||
| 3. **Scale:** Real review/conflict/proposal workflows can involve more than | ||
| two strands. | ||
| 4. **Posture:** A braid may reveal a shared projection or relationship summary | ||
| while sealed member source chains remain AuthorOnly. | ||
|
|
||
| ## Acceptance Sketch | ||
|
|
||
| - Create braid `B` with `s0` and `s1` at `t0`. | ||
| - Weave `s2` into `B` at `t1`. | ||
| - Current braid view after `t1` includes `s0`, `s1`, and `s2`. | ||
| - Historical braid view before `t1` excludes `s2`. | ||
| - Braid membership changes are append-only events, not mutable list rewrites. | ||
| - A shared braid projection can reveal the relationship without revealing a | ||
| sealed member source chain. | ||
| - Settlement can admit a braid projection without collapsing member strands. | ||
| - Weaving in an AuthorOnly member requires authority or records a sealed | ||
| member reference. | ||
|
|
||
| ## Effort | ||
|
|
||
| Medium-Large — requires braid event types, interval/member views, revelation | ||
| policy around sealed members, and settlement/projection integration. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.