Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
b98569f
Bind source entities to masters deterministically in the shared crate
lamemustafa Sep 10, 2026
407b782
Retain observed master names verbatim, and characterize the rules at …
lamemustafa Sep 10, 2026
5e3ed29
Merge remote-tracking branch 'origin/master' into claude/recursing-mi…
lamemustafa Sep 10, 2026
81bc763
Fix the review findings, and the candidate quality live data exposed
lamemustafa Sep 10, 2026
eea460e
Scope fallback assignment to the report it came from
lamemustafa Sep 10, 2026
5dba3fe
Address the four findings the fixes themselves generated
lamemustafa Sep 10, 2026
acef951
Keep period labels out of code identifiers, and drop a quadratic scan
lamemustafa Sep 10, 2026
aa9f4fb
Seed identifier-bearing ledgers, and fix what they immediately exposed
lamemustafa Sep 10, 2026
b87c8a3
Recognize period labels by shape, and bound the report at its source
lamemustafa Sep 10, 2026
03280f2
Make the comparison key an explicit contract point
lamemustafa Sep 10, 2026
eaf3dd7
Name the channel a parked identity must travel in
lamemustafa Sep 10, 2026
46a157d
Say in the producer's contract that an empty candidate list is three …
lamemustafa Sep 10, 2026
a6d95ad
Follow Tally's own rule for master sameness, and type the candidate l…
lamemustafa Sep 10, 2026
168e094
Close the six findings the contract change generated
lamemustafa Sep 10, 2026
c7cccbc
Stop a weaker rule reinstating a withheld family, and make Listed ser…
lamemustafa Sep 10, 2026
044a7d5
Test periods on the raw token, and let conflicting identifiers outran…
lamemustafa Sep 10, 2026
bc80222
Treat a non-ASCII name as a name, and a mask as identifying nothing
lamemustafa Sep 10, 2026
1406ada
Keep provenance per identifier rather than flattening it
lamemustafa Sep 11, 2026
3421266
Reject mask punctuation before extracting a numeric identifier
lamemustafa Sep 11, 2026
3fbbc41
Decide which proposed vouchers are already in the book
lamemustafa Sep 10, 2026
b766619
Bound the completeness claim to what the window read actually proves
lamemustafa Sep 10, 2026
f5554f9
Correct the idempotency premise this contract was argued from
lamemustafa Sep 10, 2026
8c2d884
Record that an empty candidate list is a recurring cross-surface trap
lamemustafa Sep 10, 2026
d1b63c5
Name what a caller may do about a difference, because the obvious move
lamemustafa Sep 10, 2026
d78ac8d
Hold this contract's own candidate list to the rule it asked of its p…
lamemustafa Sep 10, 2026
925a00f
Name the destructive default where a consumer actually looks
lamemustafa Sep 10, 2026
f5e233f
Fix nine review findings, four of which could drop an invoice silently
lamemustafa Sep 10, 2026
a447209
Fix three more findings, one of them a claim my own new test made fal…
lamemustafa Sep 10, 2026
9ae3b0a
Resolve both identities before either settles, and never settle on un…
lamemustafa Sep 10, 2026
c6542c9
Consume the typed candidate listing, and delete what it made redundant
lamemustafa Sep 10, 2026
c2d9ebe
Delete what nothing reads, and let the schema be the only copy of a b…
lamemustafa Sep 10, 2026
0307e57
Fix five more findings, and correct four ADR claims a peer lane dispr…
lamemustafa Sep 11, 2026
1ade8ce
Reseal after rebasing onto the current binding head
lamemustafa Sep 11, 2026
28625fd
Cap the candidate list before cloning it, not after
lamemustafa Sep 11, 2026
f892581
Repair what five restructurings did to this file's own explanations
lamemustafa Sep 11, 2026
171f9a2
Withhold absence when the source offered nothing decisive
lamemustafa Sep 11, 2026
19981cf
Say which absences the withholding rule does not cover
lamemustafa Sep 11, 2026
63c065b
Price the two writer-key failures separately, because only one disqua…
lamemustafa Sep 11, 2026
a739946
Assert this contract's pins, because the gate structurally cannot
lamemustafa Sep 11, 2026
ef5d102
Stop a collision from hiding what the proposal resembled, and bound t…
lamemustafa Sep 11, 2026
b1e1f2b
Rank candidates once, and stop identity settles hiding what they reached
Sep 11, 2026
d12ab07
Take the resemblance union once, and pin the contract's own statement
Sep 11, 2026
5d92e42
Keep the shortening marker from costing a character of content
Sep 11, 2026
47491dd
Refuse a short catalogue, a late party parse, and an unpinned schema …
Sep 11, 2026
e19d9a5
Replay the engagement against a live book, and stop observations cost…
Sep 11, 2026
726ab63
Make the live replay keep the promises its own header makes
Sep 11, 2026
0264f72
Declare numbering for the rows the replay actually proposes
Sep 12, 2026
b8ea717
Compare a voucher number on what was measured, not on a borrowed key
Sep 12, 2026
9cc3b0a
Record what the widened re-read cost and why it does not close the gap
Sep 12, 2026
f28ad1e
fix: fail closed voucher presence qualification
Sep 12, 2026
04fc05a
Merge remote-tracking branch 'origin/master' into tapish-codex/rectif…
Sep 12, 2026
0978559
fix: make voucher presence observations deterministic
Sep 12, 2026
89da340
docs: disclose unqualified presence windows
Sep 12, 2026
91bb788
chore: reseal voucher presence coverage
Sep 12, 2026
c56123c
Merge remote-tracking branch 'origin/master' into tapish-codex/rectif…
Sep 12, 2026
6d5fba1
rectify voucher presence identity and bounds
Sep 12, 2026
20df11d
Integrate accepted test isolation baseline and refresh presence pins
Sep 12, 2026
9d96920
Merge current master into voucher presence rectification
Sep 12, 2026
bc6c20c
Fix voucher presence contract assertions
Sep 12, 2026
d648b97
Reject incomplete voucher presence input
Sep 12, 2026
7a561b0
fix: bound published schema pattern admission
Sep 12, 2026
0ab7632
Harden voucher presence evidence boundaries
Sep 12, 2026
ff8ed1b
Cover complete presence catalogs in rule tests
Sep 12, 2026
43dbbfc
Keep exact observed ledger coverage
Sep 12, 2026
7f68807
Document exact presence catalog coverage
Sep 12, 2026
d444c90
fix(presence): refuse conflicting identity and bound comparisons
Sep 12, 2026
634ff17
style: format presence repair files
Sep 12, 2026
0e55c62
chore: reseal compatibility surface
Sep 12, 2026
e21576b
fix(presence): bound indexed resemblance work
Sep 12, 2026
9ef08d1
chore: reseal compatibility surface after work bound
Sep 12, 2026
db36f57
Refuse contradictory observed remote identities
Sep 12, 2026
bb6f263
fix(presence): bound weighted party resolution
Sep 12, 2026
f846273
chore: reseal presence compatibility surface
Sep 12, 2026
ca673ee
docs: complete presence candidate rule contract
Sep 12, 2026
e61354c
fix(presence): bound raw book observations
Sep 12, 2026
91e9e98
fix(presence): share raw observation admission
Sep 12, 2026
cd38b8e
chore(compatibility): reseal presence boundary
Sep 12, 2026
9f987ce
test(presence): cover aggregate raw observation boundaries
Sep 12, 2026
1226900
Verify the adjacent raw-byte admission boundary
Sep 12, 2026
734ae12
Integrate current catalogue master and reseal presence surface
Sep 12, 2026
5b967f1
Reseal the retained presence surface with its matching tool
Sep 12, 2026
ead47bf
test(presence): retain exact candidate count semantics
Sep 12, 2026
4f5d393
Bound raw voucher proposal admission
Sep 12, 2026
935c506
Require admitted proposal batches
Sep 12, 2026
6ce6e0c
test: qualify exact raw admission boundaries
Sep 12, 2026
592ec06
fix: retain remote evidence precedence
Sep 12, 2026
47f7863
test: expose voucher type presence differences
Sep 12, 2026
96f3b14
refactor: share presence resemblance reporting
Sep 12, 2026
ef0c780
chore: reseal presence compatibility surface
Sep 12, 2026
49fb656
test: cover unread remote resemblance reasons
Sep 12, 2026
17bfe97
fix: bind presence request schemas to compatibility evidence
Sep 12, 2026
7154923
Degrade a partial window to possibly_present instead of refusing it (…
lamemustafa Sep 15, 2026
95b5f49
Merge master into claude/voucher-presence and reseal the pin set
Sep 15, 2026
30aa04b
Update the live replay to the post-#397 presence contract
Sep 15, 2026
1a62ea9
Bind the party-difference test to a spelling that still binds
Sep 15, 2026
78e2237
Let the live presence replay scope its read to one voucher type
Sep 15, 2026
64b8666
Restore the party-difference test's subject, and reseal
lamemustafa Sep 15, 2026
f70c2b3
Read an absent party as absent, not as a party named ""
lamemustafa Sep 15, 2026
5c30ae6
Merge remote-tracking branch 'origin/master' into sync/294
lamemustafa Sep 15, 2026
d06596a
Reseal after merging master
lamemustafa Sep 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
672 changes: 672 additions & 0 deletions docs/adr/0017-voucher-presence-authority.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/tally/compatibility/compatibility-matrix.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schema_version": 1,
"bridge_commit_sha": "be1c20cc3fd66fa1ece196505c69f26e555e4b8e",
"compatibility_surface_sha256": "f610a58ad2bb994388a4848b96cf789f2be536b715f82a74712ab677193f8e88",
"compatibility_surface_sha256": "c86a3689f0981f6015ddb908999701cb795bd8650330fd47d0d15414e5262986",
"claims": [
{
"claim_id": "erp9-6-6-3-windows-education-xml-one-company",
Expand Down
26 changes: 21 additions & 5 deletions docs/tally/compatibility/compatibility-surface.json
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,13 @@
"path": "src-tauri/crates/bridge-tally-core/src/bills_reconciliation.rs",
"sha256": "c3b0bfa66147b3e90800f0ccf3ede8425b6324c5025af4c0f033b123eb9fe63a"
},
{
"path": "src-tauri/crates/bridge-tally-core/src/book_presence.rs",
"sha256": "652f57e441b05f4bdb25c8e53e9bcd9000641491e2fb8479c0a6344764b2b54c"
},
{
"path": "src-tauri/crates/bridge-tally-core/src/lib.rs",
"sha256": "58674602eb3131c101ace7638d43cf550d74b29eb3848b0c908687bb2c9fbf9c"
"sha256": "7367c3c94f7412e1126b117239636a38678189ec89369c0d3494bd553d8e4e4b"
},
{
"path": "src-tauri/crates/bridge-tally-core/src/master_binding.rs",
Expand Down Expand Up @@ -323,7 +327,11 @@
},
{
"path": "src-tauri/src/agent.rs",
"sha256": "83824bf04e0d6b10b2cc3ed852a1600ef9472fe37966c6dce4d318efe58f1e9b"
"sha256": "2132f9735c9ffe79262ad84a83c99c899fde4c37a809420877e5db83dcd3bcc4"
},
{
"path": "src-tauri/src/agent_catalog.rs",
"sha256": "242c00ddead06e2cebf46970703dc8c8f5831c096b0afd006bd844d9fb7e77f5"
},
{
"path": "src-tauri/src/agent_desktop_journal.rs",
Expand All @@ -337,6 +345,14 @@
"path": "src-tauri/src/agent_ledgers.rs",
"sha256": "a891e4ac51addc9dc17ae28ce4634bd2cfeb8f3f0df78e072290771d29a3131b"
},
{
"path": "src-tauri/src/agent_presence.rs",
"sha256": "44fa9f2482f1c1a76249bccdfa0b5e2626d816e9a405b721e04c8ef7da9d8ec5"
},
{
"path": "src-tauri/src/agent_presence_tests.rs",
"sha256": "a96ebf07de0b998056c682c76cf7df734c1eaeb00a535410a228c1805269c899"
},
{
"path": "src-tauri/src/agent_read_profiles.rs",
"sha256": "cbcc6831046134158fad25ca3bbbda34f5060f0ab6d299b428f996e541b7e072"
Expand All @@ -351,7 +367,7 @@
},
{
"path": "src-tauri/src/agent_tests.rs",
"sha256": "48d636f5787f23ffd2e7963dc0c66fa77a05a9167e453e0aca3fb1c11e4df4b2"
"sha256": "c9d6b7722fe687d968c94c5669a1713a2aec276038fcd6facc47285d95e76726"
},
{
"path": "src-tauri/src/agent_trial_balance.rs",
Expand Down Expand Up @@ -815,7 +831,7 @@
},
{
"path": "tools/bridge-tally-compatibility/src/lib.rs",
"sha256": "91b726ce49d93068e8d6c16395e4c629d84c1800927245c65dc4aaea26ac4501"
"sha256": "993dfd51072f81d9f8b115d666de0d7830a10eec3a077d7fb690f6f206773b25"
},
{
"path": "tools/bridge-tally-compatibility/src/main.rs",
Expand Down Expand Up @@ -850,5 +866,5 @@
"sha256": "a8ac2714fecf51947f2822c8c46d7ce2e8602c732780ff60566a7771f0836f9a"
}
],
"manifest_sha256": "f610a58ad2bb994388a4848b96cf789f2be536b715f82a74712ab677193f8e88"
"manifest_sha256": "c86a3689f0981f6015ddb908999701cb795bd8650330fd47d0d15414e5262986"
}
2 changes: 1 addition & 1 deletion scripts/check-mcpb-bundle.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
RESOURCES = ("LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.txt", "THIRD_PARTY_LICENSES_RUST.txt")
DEFAULT_TOOLS = {
"tally_status", "list_companies", "voucher_schema", "validate_masters", "outstandings",
"ledger_masters", "ledger_movement", "trial_balance", "vouchers", "read_evidence", "egress_log", "verify_import",
"ledger_masters", "ledger_movement", "trial_balance", "vouchers", "voucher_presence", "read_evidence", "egress_log", "verify_import",
}
MAX_BUNDLE_BYTES = 128 * 1024 * 1024
MAX_OUTPUT_BYTES = 512 * 1024
Expand Down
Loading