Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
2bd136e
feat: add native outstandings
lamemustafa Aug 8, 2026
a4eb4ae
ci: remove obsolete canary runtime checks
lamemustafa Aug 12, 2026
697f00f
chore(tally): reseal native outstandings surface
lamemustafa Aug 13, 2026
acb89a1
fix(tally): retain future-due and century-bound bills
lamemustafa Aug 14, 2026
5dbc9a8
fix(tally): retain future-due statement rows
lamemustafa Aug 15, 2026
8b40d5a
chore(tally): reseal compatibility surface for B12
lamemustafa Aug 15, 2026
4b1ef37
style(tally): format native date-role tests
lamemustafa Aug 16, 2026
bfd5000
fix: repair Git-normalized empty capture
lamemustafa Aug 8, 2026
cf0e5c0
fix(tally): account for measured native exposure
lamemustafa Aug 17, 2026
271a257
chore(tally): reseal compatibility surface for F1X
lamemustafa Aug 17, 2026
48f04a4
fix(tally): sanitize native XML before decoding
lamemustafa Aug 17, 2026
6a3ee98
fix(tally): close currency identity probe
lamemustafa Aug 17, 2026
f83bfb5
chore(tally): reseal F2X PR2 compatibility surface
lamemustafa Aug 17, 2026
c6556f9
fix(tally): reject empty native bill party keys
lamemustafa Aug 17, 2026
362ae90
fix(tally): disclose empty native bill references
lamemustafa Aug 18, 2026
e15275e
chore(tally): reseal F4X PR2 compatibility surface
lamemustafa Aug 18, 2026
8cf1f61
fix(tally): fail closed across native outstandings reads
lamemustafa Aug 18, 2026
b71f438
chore(tally): reseal F5X PR2 compatibility surface
lamemustafa Aug 18, 2026
88f19cc
refactor(tally): bind native master snapshots
lamemustafa Aug 18, 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
17 changes: 0 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -292,17 +292,6 @@ jobs:
Add-Content -Path $env:GITHUB_STEP_SUMMARY -Value '### Windows native prerequisites'
Add-Content -Path $env:GITHUB_STEP_SUMMARY -Value '- Strawberry Perl cache hit: `${{ steps.windows-native-prerequisites.outputs.cache-hit }}`'
- run: cargo check --locked --manifest-path src-tauri/Cargo.toml --workspace
- name: Check sealed canary runtime dispatch feature
working-directory: src-tauri
run: >-
cargo check --locked -p bridge --lib
--features fixture-canary-runtime-dispatch
- name: Test sealed canary runtime dispatch feature
working-directory: src-tauri
run: >-
cargo test --locked -p bridge --lib
--features fixture-canary-runtime-dispatch
sealed
- run: cargo test --locked --manifest-path src-tauri/Cargo.toml --workspace
- name: Test isolated native outstandings qualification feature
working-directory: tools
Expand All @@ -311,12 +300,6 @@ jobs:
--features bills-native-outstandings-probe-runner
--all-targets -- --test-threads=1
- run: cargo clippy --locked --manifest-path src-tauri/Cargo.toml --workspace --all-targets -- -D warnings
- name: Lint sealed canary runtime dispatch feature
working-directory: src-tauri
run: >-
cargo clippy --locked -p bridge --lib
--features fixture-canary-runtime-dispatch
-- -D warnings
- name: Lint isolated native outstandings qualification feature
working-directory: tools
run: >-
Expand Down
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": "2a1390a8607b5c8c09e362b3dea6c53bf7bbb5490a176f1d0a4a323501f70a59",
"compatibility_surface_sha256": "2c8e7e0069687f9da172d78f1211a80addf6fead80dd3d10ce2237d97d68370d",
"claims": [
{
"claim_id": "erp9-6-6-3-windows-education-xml-one-company",
Expand Down
40 changes: 20 additions & 20 deletions docs/tally/compatibility/compatibility-surface.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"files": [
{
"path": ".github/workflows/ci.yml",
"sha256": "51a383c33594f9e884c1ff0c1f9af9f378683707b7ea3903a7e6205ff2521ba3"
"sha256": "61c283554b1e95eac6368a1aaeb6fd6691cfce9c6060aa93bb2949d281f36bad"
},
{
"path": ".github/workflows/dependency-security.yml",
Expand Down Expand Up @@ -63,7 +63,7 @@
},
{
"path": "docs/tally/compatibility/synthetic-write-canary-fixture.md",
"sha256": "dd2f1c68c0925523af1468dd9c61330433130c0e72b7c713dfc1ef9205b4756f"
"sha256": "9ed85e60adb7306f11496b47f5a86d49327abfdd8e2735678c521187b9ce76e4"
},
{
"path": "docs/tally/support-matrix.md",
Expand Down Expand Up @@ -99,7 +99,7 @@
},
{
"path": "src-tauri/Cargo.toml",
"sha256": "5134ac0c55a29f4357d2482cc5510892300974f570754968fe784a8ad14c143c"
"sha256": "7169cc1c3f6f75304daca1eea5b3d57237d88ad2575a3debc4acaf57cce23e09"
},
{
"path": "src-tauri/crates/bridge-tally-canonical/Cargo.toml",
Expand Down Expand Up @@ -151,7 +151,7 @@
},
{
"path": "src-tauri/crates/bridge-tally-protocol/Cargo.toml",
"sha256": "cb144c8de2662814723603c0a58e23c1cfac74a49fde3c392fceb51af0b549db"
"sha256": "2020a451726b713a636816e906ab494ee5529284c3f52126b1d7c9960f594efb"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/bills_native_outstandings_probe.rs",
Expand All @@ -163,39 +163,39 @@
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/lib.rs",
"sha256": "7d69f93c0ebc423151f97ae3f9a3b51106a56b3c3ae561b35a482026ef9ace7f"
"sha256": "e1c9082a214a125454c2bbddef8494283d41efa025e4acfc1525f0a22aa2bd1e"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/outstandings/completeness.rs",
Comment thread
lamemustafa marked this conversation as resolved.
"sha256": "94dac8a7abad4ba13507040e9474eee504dcd12da56136f76b2c5df70534b8ac"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/outstandings/model.rs",
"sha256": "2964513144868895680ec125c93e22947063652b7cc414e81a4e40ca88d849db"
"sha256": "6164b99d9765009353f5e7807ea483ba80909bf981e79a9f73a50f10601c9a59"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/outstandings/parser.rs",
"sha256": "0f682aec36689a2e28602ea7257913106ca8bb5346a8edc725d147ee30f6440b"
"sha256": "be3c2e63a531b63a39c8fc2a072b6c0cd3f3327bcda6268b37a224a7ea163b3c"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/outstandings/request.rs",
"sha256": "400a3e97cd283fe1a6affebc0a235d2a6a1731e736747df728499dd0cd304f4f"
"sha256": "07818e208476f2b81d452643cda7383750c0b573b7350e46ae5a842f7f530b27"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/outstandings/wire.rs",
"sha256": "37d1ce2de6edf1daa841715b96a44ef294dfe992b57fedf275b50eb63f93570f"
"sha256": "c181efb3ac013543a40fe78a6e1fb900021ca25c443d034cda49f2639f8f9006"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/src/xml_read_profiles.rs",
"sha256": "9fff9b46f22be5feb4b14efed80ca79bbdc0aec09d80c649592c640f3abc5b15"
"sha256": "c6a77734b40e8c1b492a46484e3384d335f132d5434d6c53e70d2237c2b80252"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/tests/fixtures/unit_a_optional_voucher_live.xml",
"sha256": "0a692e6362101f9c176cddca1f8afb7d00da3ceb97f94ebd42ff682130b99e53"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/tests/simulator_corpus.rs",
"sha256": "553becfc2c38b31b5d50125316493e3d16c617b0cc7657fbb92c155266e28efa"
"sha256": "616eb8fa5e387bff74f62d8e775b7eb118860763b18ff63ad88ad5015f7f752f"
},
{
"path": "src-tauri/crates/bridge-tally-protocol/tests/stream_text_decoder.rs",
Expand All @@ -211,11 +211,11 @@
},
{
"path": "src-tauri/crates/bridge-tally-transport/Cargo.toml",
"sha256": "67d961f5b7352058db9790f2e690fc07fa3d440b62b094d8cc3e1663bf92b69b"
"sha256": "099ce34a52d4f3719c75dd053ef3e3c5bd8d2db1fd8587d43c1afe9ffa4d74ca"
},
{
"path": "src-tauri/crates/bridge-tally-transport/src/lib.rs",
"sha256": "5b3080d664ccc85f264e99c7bdc0f8d0e23e46036ad25c787b7b0f4d8439671c"
"sha256": "9b010fcb54b7646bb78bc1ca184eff818e633cae17d051831a0b25833d498f8e"
},
{
"path": "src-tauri/crates/bridge-tally-transport/tests/http_transport.rs",
Expand Down Expand Up @@ -259,7 +259,7 @@
},
{
"path": "src-tauri/src/commands.rs",
"sha256": "5e18b9ed4fac6622b59b4078936832cb5766411b0b3c229f530a5129e8b6efc2"
"sha256": "9ec65e68c073cc113510a5cfb11b7b973e0f8a5cc50e8ceb98954a3304e99ab4"
},
{
"path": "src-tauri/src/db/encrypted.rs",
Expand Down Expand Up @@ -343,7 +343,7 @@
},
{
"path": "src-tauri/src/lib.rs",
"sha256": "c84dae31b363abcee38abeac37d2e53e9d50fb76da1f4af67068351d0b7cb213"
"sha256": "5856c632b3b1c51a3d4e7b6cd408503348c487b653abe32ce71f0e5d18c6e34b"
},
{
"path": "src-tauri/src/sync/coordinator.rs",
Expand Down Expand Up @@ -383,23 +383,23 @@
},
{
"path": "src-tauri/src/tally/connection.rs",
"sha256": "5b3fd134988c44a4847daf3ae7396b7cc5c300ea27189307d09fcba148c1e1bb"
"sha256": "b93aa0dafbe8acadbeea5efce8919ffe3d7f24d2b306f14e3e6d0ee103e4dc53"
},
{
"path": "src-tauri/src/tally/connector.rs",
"sha256": "665f3c4c8549048718b55786dc5d6f93caf251e973abc95d9ab79a3f7937dcd0"
"sha256": "d9a96b3c04d13461494961fba09ae245c5e43e78df329b95e61f7d3eeb8c2f30"
},
{
"path": "src-tauri/src/tally/mod.rs",
"sha256": "0d44e34bfbf6443a59cbf1ddc8a18b990b5d0d997bc63a61c5f1cf08f84c0b6b"
"sha256": "d606e076d0e6e0faf07e0476ca173893cc36ea6b644a41148c4b67c0801b2d46"
},
{
"path": "src-tauri/src/tally/outstandings_runtime.rs",
"sha256": "afe1f27c9696e5c13bd95afe81959946d6bc9002545b4a9fabed218f238b6a8b"
},
{
"path": "src-tauri/src/tally/runtime.rs",
"sha256": "26c4547a2884b90486687aaee61d030f655215d0759d12016de4081c6952d9ca"
"sha256": "2d2ce6d7d59b4b7e7286ca0f583f87604fa86cd1a1eed1c5353f7ae487152b55"
},
{
"path": "src-tauri/src/tally/serial_queue.rs",
Expand Down Expand Up @@ -494,5 +494,5 @@
"sha256": "ef1d33e90da527faa9735469ea5040c9258fbab9e4c761f2473d79e7b3dbd0c4"
}
],
"manifest_sha256": "2a1390a8607b5c8c09e362b3dea6c53bf7bbb5490a176f1d0a4a323501f70a59"
"manifest_sha256": "2c8e7e0069687f9da172d78f1211a80addf6fead80dd3d10ce2237d97d68370d"
}
20 changes: 12 additions & 8 deletions docs/tally/compatibility/synthetic-write-canary-fixture.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,21 @@ payload-commitment capsule. Sealing consumes the non-cloneable prepared canary,
so one prepared instance cannot yield a second capsule; the capsule has no raw
XML accessor or callback escape hatch.

The separately disabled runtime-dispatch feature adds one constrained internal
sequence: it derives the fixed canary only from an enrolled local company pin,
The lower-level write crate retains a separately disabled runtime-dispatch
feature for its sealed coordinator tests. The application manifest deliberately
does not forward that feature, so no supported Bridge application build exposes
a canary Tauri command or a runtime path that can send the canary. The dormant
coordinator derives the fixed canary only from an enrolled local company pin,
performs the exact one-time preflight read, repeats durable admission, and then
consumes the capsule once to POST through Bridge's bounded loopback transport.
Its raw request and response remain sealed, it has no generic payload API,
retry loop, persistence hook, or UI route. Only a build with the explicit
non-default `fixture-canary-runtime-dispatch` feature exposes one Tauri command;
that command accepts no payload, XML, target override, retry choice, evidence,
or digest and returns only a final-verdict identifier and timestamp. It rechecks
an explicit disposable-fixture acknowledgement and backup acknowledgement before
starting the sealed sequence. The canonical loopback origin must match the
retry loop, persistence hook, or UI route. Dormant application source includes
a command adapter behind the same undeclared application feature; it is not
part of any manifest-supported build. That adapter accepts no payload, XML,
target override, retry choice, evidence, or digest and would return only a
final-verdict identifier and timestamp. The coordinator rechecks an explicit
disposable-fixture acknowledgement and backup acknowledgement before starting
the sealed sequence. The canonical loopback origin must match the
enrolled source pin before the one-time reservation, and is rechecked from the
prepared fixture before preflight and is revalidated on the exclusive dispatch
lease immediately before import. The coordinator claims durable exact preflight
Expand Down
15 changes: 9 additions & 6 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ rust-version = "1.96"
default-run = "bridge"

[features]
voucher-scan = []
# Deliberately disabled in shipped builds. This feature enables the separately
# reviewed, one-send synthetic-canary command boundary and never a generic write API.
fixture-canary-dispatch-seam = []
fixture-canary-runtime-dispatch = ["fixture-canary-dispatch-seam"]
# Legacy voucher-scan outstandings path. Shipped/default builds take the
# native Bills Receivable/Payable + List of Ledgers path unconditionally;
# this gate exists so the ~4,800 lines of scan machinery (date/AlterID
# partitioning, segment completeness proofs, the wildcard voucher fetch) do
# not compile into a shipped build at all. Not a default feature.
voucher-scan = ["bridge-tally-protocol/voucher-scan", "bridge-tally-transport/voucher-scan"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update the write-canary runbook after removing its feature

The manifest no longer declares fixture-canary-runtime-dispatch, and the command registration was removed, but docs/tally/compatibility/synthetic-write-canary-fixture.md:39 still promises that a Bridge build with this feature exposes the reviewed Tauri command. Following that procedure now fails immediately with Cargo's unknown-feature error, so either restore the feature boundary or update the runbook to state that the canary is unavailable.

AGENTS.md reference: AGENTS.md:L174-L179

Useful? React with 👍 / 👎.

# Manual-only admission for the ignored, corpus-bound Unit A reconciliation
# harness. Shipped/default builds have no constructor for an AlterID width.
live-calibration-harness = []
# The harness is what actually drives a voucher scan, so it implies the scan
# machinery it needs.
live-calibration-harness = ["voucher-scan"]

[workspace]
members = [
Expand Down
6 changes: 6 additions & 0 deletions src-tauri/crates/bridge-tally-protocol/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ jsonex-request-builder = ["dep:serde_json"]
india-tax-observation-parser = []
bills-payments-observation-parser = []
bills-native-outstandings-probe = []
# Legacy voucher-scan outstandings path (`outstandings` module): reads every
# voucher in a date/AlterID-partitioned wildcard scan and derives outstandings
# from bill allocations. Superseded by the native Bills Receivable/Payable +
# List of Ledgers path (`native_outstandings`, always compiled). Not a
# default feature: no shipped build takes this path today.
voucher-scan = []

[dependencies]
anyhow = "1"
Expand Down
Loading
Loading