Укрепить автономные reviewed-маршруты и срезы задолженности

This commit is contained in:
2026-05-12 23:26:20 +03:00
parent 5dedfeee86
commit b99a3be083
46 changed files with 3234 additions and 142 deletions
@@ -83,10 +83,11 @@ Fresh validation cut:
- Completed autonomy slice inside that loop: `Proof-Family Enablement Candidates`: exact organization-level profit/margin, overdue/due-date debt aging, inventory reserve/liquidation, and vendor-risk/procurement-quality asks remain user-safe while route candidates mark the missing reviewed proof families as `needs_route_enablement`.
- Completed autonomy slice inside that loop: `Accounting Profit-Margin Reviewed Route`: `accounting_profit_margin` is now promoted from `needs_route_enablement` into a reviewed 90/91/99 accounting-result route with accepted live replay.
- Completed autonomy slice inside that loop: `Debt Due-Date Aging Reviewed Route`: `debt_due_date_aging_quality` is now promoted from proxy-only route-candidate gap into a reviewed payment-term/open-balance route with accepted live replay.
- Current live canary: `phase94_debt_due_date_aging_reviewed_route_live4` accepted `7/7`.
- Current accepted autorun: `AGENT | Phase 94 debt due-date aging reviewed route` (`gen-ag05101319-c04f79`).
- Completed autonomy slice inside that loop: `Vendor/Procurement Quality Reviewed Route`: `vendor_risk_procurement_quality` now promotes to reviewed procurement-concentration evidence when confirmed outgoing payment, bank-like recipient segregation, non-financial recipient, counterparty-role, and contract-usage signals are reachable; phase95 live replay is accepted.
- Current live canary: `phase95_vendor_procurement_quality_reviewed_route_live2` accepted `7/7`.
- Current accepted autorun: `AGENT | Phase 95 vendor/procurement quality reviewed route` (`gen-ag05121357-9ea5d6`).
- Implementation breadth: `~99% (Open-World Bounded Autonomy Breadth through Slice 25)`.
- Next active slice: select the next phase92 proof family, likely vendor/procurement quality or inventory reserve/liquidation, and drive it through repair -> reviewed route enablement -> rerun, without treating proxy-only evidence as proof.
- Next active slice: select the remaining phase92 proof family `inventory_reserve_liquidation_quality`.
- Active module progress: `~99% (Agentic Semantic Development Loop, accepted dogfood loop + autorun hygiene; manual GUI confirmation still required)`.
## Reporting Rule
@@ -98,7 +99,7 @@ Use these labels when reporting progress:
- `Прогресс модуля: 99% (Open-World Bounded Autonomy Breadth, active slice: Semantic Control Gate)` while discussing current module closure after the EHMO-derived critical subset accepted live again with W5/W7 hardening.
- `Прогресс модуля: 99% (Agentic Semantic Development Loop, accepted dogfood loop + autorun hygiene; manual GUI confirmation still required)` when discussing the current development-loop operating layer.
- `Прогресс модуля: 100% (Open-World Route Candidate Promotion, declared phase90 slice accepted)` when discussing the route-candidate handoff slice itself.
- `Прогресс модуля: 84% (Route-Candidate-Driven Enablement Loop, active slice: second reviewed proof-family route accepted)` when discussing the current candidate-driven enablement loop.
- `Прогресс модуля: 92% (Route-Candidate-Driven Enablement Loop, active slice: third reviewed proof-family route accepted)` when discussing the current candidate-driven enablement loop.
- `Open-World Business Overview implementation breadth: ~99%, Semantic Control Gate critical subset accepted, fat GUI pack still pending` when discussing only the already wired Slice 25 breadth.
- `Прогресс модуля: X% (Open-World Bounded Autonomy Breadth, active slice: <name>)` for later breadth work after the Semantic Control Gate is accepted.
@@ -134,7 +135,7 @@ Remaining work belongs to the next breadth module:
- confirm the latest autorun Cyrillic hygiene cut in the GUI after backend refresh and inspect frontend/API payloads if old replacement characters remain visible;
- continue dogfooding the `Agentic Semantic Development Loop` on real stage packs, especially generated-question quality, semantic business audit, repair handoff, and rerun acceptance;
- finish closure of the `Open-World Semantic Control Gate` opened by `assistant-stage1-EHMOy3lNFt`; the EHMO-derived critical subset is accepted live after W5/W7 hardening, but the fat GUI pack and residual answer-shape roughness still need final review;
- extend `business_overview` beyond money-flow/activity, customer and supplier concentration, document/account-section activity mix, counterparty role split, contract usage, yearly operating-flow dynamics, explicit profit/margin wording boundaries, explicit debt due-date wording boundaries, explicit inventory reserve/liquidation wording boundaries, explicit supplier/procurement-quality wording boundaries, explicit-period VAT/tax, as-of-date debt position, open-settlement concentration, contract-date debt age, debt staleness-risk proxy, as-of-date inventory position, trading-margin proxy, sales-to-stock inventory proxy, warehouse staleness-risk proxy, the missing-proof ledger, the reviewed accounting profit/margin route, and the reviewed debt due-date aging route into separately proven vendor-risk/procurement-quality analysis and confirmed reserve/write-off/liquidation inventory evidence families;
- extend `business_overview` beyond money-flow/activity, customer and supplier concentration, document/account-section activity mix, counterparty role split, contract usage, yearly operating-flow dynamics, explicit profit/margin wording boundaries, explicit debt due-date wording boundaries, explicit inventory reserve/liquidation wording boundaries, explicit supplier/procurement-quality wording boundaries, explicit-period VAT/tax, as-of-date debt position, open-settlement concentration, contract-date debt age, debt staleness-risk proxy, as-of-date inventory position, trading-margin proxy, sales-to-stock inventory proxy, warehouse staleness-risk proxy, the missing-proof ledger, the reviewed accounting profit/margin route, the reviewed debt due-date aging route, and the reviewed vendor/procurement concentration route into confirmed reserve/write-off/liquidation inventory evidence families;
- broader dynamic schema traversal for unfamiliar 1C asks;
- more primitive descriptors where live evidence proves a real gap;
- more replay-backed domain packs that start from user business meaning, not from route convenience;
@@ -50,6 +50,8 @@ Live semantic replay:
- accepted user-runnable autorun for that route replay: `AGENT | Phase 93 accounting profit-margin reviewed route` (`gen-ag05101213-596d99`).
- second reviewed proof-family route replay: `artifacts/domain_runs/phase94_debt_due_date_aging_reviewed_route_live4`, `7/7` passed, `0` warnings, `0` failures.
- accepted user-runnable autorun for that route replay: `AGENT | Phase 94 debt due-date aging reviewed route` (`gen-ag05101319-c04f79`).
- third proof-family route replay: `artifacts/domain_runs/phase95_vendor_procurement_quality_reviewed_route_live2`, `7/7` passed, `0` warnings, `0` failures.
- accepted user-runnable autorun for that route replay: `AGENT | Phase 95 vendor/procurement quality reviewed route` (`gen-ag05121357-9ea5d6`).
The replay proves the user-facing route-candidate canary remains healthy while the development tooling starts treating route candidates as repair-loop input:
@@ -61,28 +63,30 @@ The replay proves the user-facing route-candidate canary remains healthy while t
- exact P&L, due-date debt aging, vendor-risk/procurement-quality, and reserve/liquidation wording now surface as concrete `needs_route_enablement` proof-family candidates when the reviewed route is missing.
- exact accounting profit/margin wording now has the first reviewed route implementation and can move to `ready_for_reviewed_execution` through confirmed 90/91/99 accounting rows.
- exact due-date debt aging wording now has the second reviewed route implementation and can move to `ready_for_reviewed_execution` through confirmed open-balance/payment-term evidence, while absent payment terms produce an honest checked-negative boundary answer.
- exact vendor-risk/procurement wording now has a live-accepted reviewed procurement-concentration route that can move to `ready_for_reviewed_execution` when confirmed outgoing payment, bank-like recipient segregation, non-financial recipient, counterparty-role, and contract-usage evidence are reachable. It still does not prove supplier reliability, delivery quality, payment purpose, contract-term compliance, or full expense structure.
## Status
Current module wording:
`Route-Candidate-Driven Enablement Loop, active slice: second reviewed proof-family route accepted`
`Route-Candidate-Driven Enablement Loop, active slice: third reviewed proof-family route accepted`
Progress: `84%`.
Progress: `92%`.
The first cut proved the handoff mechanics and live canary. The second cut proved real proof-family candidates and a saved accepted AGENT pack. The third cut proved the intended promotion loop on `accounting_profit_margin`. The fourth cut proves the same loop on `debt_due_date_aging_quality`, including short boundary follow-up continuity and saved accepted autorun hygiene. The module is still not complete because vendor/procurement quality and inventory reserve/liquidation need the same treatment or an explicit bounded non-implementation decision.
The first cut proved the handoff mechanics and live canary. The second cut proved real proof-family candidates and a saved accepted AGENT pack. The third cut proved the intended promotion loop on `accounting_profit_margin`. The fourth cut proved the same loop on `debt_due_date_aging_quality`, including short boundary follow-up continuity and saved accepted autorun hygiene. The fifth cut proves `vendor_risk_procurement_quality` as reviewed procurement-concentration evidence with accepted phase95 replay. The module is still not complete because the inventory reserve/liquidation proof family remains open.
## Next Work
Next slices:
1. Pick the next high-value proof family from phase92: `vendor_risk_procurement_quality` or `inventory_reserve_liquidation_quality`.
2. Implement the smallest reviewed route/capability for that proof family only if reliable 1C evidence is reachable.
3. Rerun phase94 as a canary plus a focused route-specific pack until the selected candidate changes from `needs_route_enablement` to `ready_for_reviewed_execution` or a clearly bounded non-implementation decision.
4. Save the accepted pack into autoruns only after the live replay and semantic review pass.
1. Pick the final phase92 proof family: `inventory_reserve_liquidation_quality`.
2. Implement or explicitly bound that final family only if reliable 1C evidence is reachable.
3. Rerun phase95 as a canary plus the focused inventory route-specific pack.
4. Save the accepted pack into autoruns only after live replay and semantic review pass.
See also:
- [27 - proof_family_enablement_candidates_2026-05-10.md](./27%20-%20proof_family_enablement_candidates_2026-05-10.md)
- [28 - accounting_profit_margin_reviewed_route_2026-05-10.md](./28%20-%20accounting_profit_margin_reviewed_route_2026-05-10.md)
- [29 - debt_due_date_aging_reviewed_route_2026-05-10.md](./29%20-%20debt_due_date_aging_reviewed_route_2026-05-10.md)
- [30 - vendor_procurement_quality_reviewed_route_2026-05-12.md](./30%20-%20vendor_procurement_quality_reviewed_route_2026-05-12.md)
@@ -84,27 +84,40 @@ The second candidate from this slice has now been promoted:
This means `debt_due_date_aging_quality` is no longer only a proxy-only proof-family candidate. It is now a reviewed executable route that can produce checked negative answers when payment terms are not configured.
## Phase95 Follow-Up
The third candidate from this slice has now been promoted:
- proof family: `vendor_risk_procurement_quality`;
- reviewed evidence boundary: procurement/outgoing-payment concentration inside `business_overview`;
- evidence basis: confirmed outgoing payment rows, top outgoing recipient, top non-financial recipient, counterparty role profile, and contract usage profile;
- local validation: executor/runtime bridge/answer/candidate tests passed `118/118` with `1` skipped; `npm.cmd run build` passed;
- accepted run: `artifacts/domain_runs/phase95_vendor_procurement_quality_reviewed_route_live2`, `7/7` passed;
- accepted autorun: `AGENT | Phase 95 vendor/procurement quality reviewed route` (`gen-ag05121357-9ea5d6`).
This means `vendor_risk_procurement_quality` is no longer only a missing-proof candidate when reviewed procurement-concentration evidence is reachable. It is still not a full vendor-risk due-diligence engine: supplier reliability, delivery quality, payment purpose, contract-term compliance, and complete expense structure remain unproved.
## Status
Current module wording:
`Route-Candidate-Driven Enablement Loop, active slice: second reviewed proof-family route accepted`
`Route-Candidate-Driven Enablement Loop, active slice: third reviewed proof-family route accepted`
Progress: `84%`.
Progress: `92%`.
This cut proved the missing-proof candidate surface and accepted user-runnable AGENT canary. Phase93 then implemented the first exact reviewed route for the accounting profit/margin family. Phase94 implemented the second reviewed route for due-date debt aging and verified short boundary follow-up continuity. The remaining closure work is to repeat that discipline for vendor/procurement quality and inventory reserve/liquidation, or explicitly bound them if exact evidence is not reachable.
This cut proved the missing-proof candidate surface and accepted user-runnable AGENT canary. Phase93 then implemented the first exact reviewed route for the accounting profit/margin family. Phase94 implemented the second reviewed route for due-date debt aging and verified short boundary follow-up continuity. Phase95 now promotes vendor/procurement quality through reviewed procurement-concentration evidence and accepted live replay. The remaining closure work is inventory reserve/liquidation enablement or an explicit bounded non-implementation decision.
## Next Work
Next slices:
1. Pick the next high-value proof family from the accepted phase92 candidate set: vendor/procurement quality or inventory reserve/liquidation.
2. Wire the smallest reviewed exact route/capability for that family, starting with the data that is already reachable through MCP/1C.
3. Keep the existing proxy answer as a fallback boundary, not as the final proof.
4. Rerun the phase94 canary plus a focused route-specific pack until the selected candidate moves from `needs_route_enablement` to `ready_for_reviewed_execution` or an explicit non-implementation boundary.
5. Save the new AGENT autorun only after the live replay and semantic review pass.
1. Wire or explicitly bound the final remaining family: `inventory_reserve_liquidation_quality`.
2. Keep proxy-only inventory reserve/liquidation wording bounded until reviewed evidence exists.
3. Rerun phase95 as a canary plus the focused inventory route-specific pack.
4. Save the next AGENT autorun only after live replay and semantic review pass.
See also:
- [28 - accounting_profit_margin_reviewed_route_2026-05-10.md](./28%20-%20accounting_profit_margin_reviewed_route_2026-05-10.md)
- [29 - debt_due_date_aging_reviewed_route_2026-05-10.md](./29%20-%20debt_due_date_aging_reviewed_route_2026-05-10.md)
- [30 - vendor_procurement_quality_reviewed_route_2026-05-12.md](./30%20-%20vendor_procurement_quality_reviewed_route_2026-05-12.md)
@@ -81,18 +81,16 @@ This keeps the phase93 accounting route as a canary while proving the candidate-
Current module wording:
`Route-Candidate-Driven Enablement Loop, active slice: second reviewed proof-family route accepted`
`Route-Candidate-Driven Enablement Loop, active slice: third reviewed proof-family route accepted`
Progress: `84%`.
Progress: `92%`.
This was the first proof that the loop can turn a route candidate into an executable reviewed route. Phase94 has now repeated the pattern for due-date debt aging. The module is not yet complete because vendor/procurement quality and inventory reserve/liquidation still need the same treatment or an explicit bounded non-implementation decision.
This was the first proof that the loop can turn a route candidate into an executable reviewed route. Phase94 repeated the pattern for due-date debt aging, and phase95 accepted vendor/procurement quality through reviewed procurement-concentration evidence. The module is not yet complete because inventory reserve/liquidation still needs the same treatment or an explicit bounded non-implementation decision.
## Next Work
Next slices:
1. Pick the next phase92 proof family: `vendor_risk_procurement_quality` or `inventory_reserve_liquidation_quality`.
2. Identify reachable 1C evidence for the selected family, or an honest fallback if the contour cannot prove it exactly.
3. Wire the smallest reviewed route/capability only if the evidence is reliable enough.
4. Rerun the phase94 canary plus a focused route-specific pack until the new route is either `ready_for_reviewed_execution` or explicitly bounded.
5. Save the next AGENT autorun only after live replay and semantic review pass.
1. Select the remaining proof family: `inventory_reserve_liquidation_quality`.
2. Wire only the smallest reliable reviewed route, not a broad heuristic.
3. Keep proxy-only reserve/liquidation wording bounded until the route is accepted.
@@ -77,20 +77,17 @@ The accepted replay proves:
Current module wording:
`Route-Candidate-Driven Enablement Loop, active slice: second reviewed proof-family route accepted`
`Route-Candidate-Driven Enablement Loop, active slice: third reviewed proof-family route accepted`
Progress: `84%`.
Progress: `92%`.
This is the second proof that the loop can turn a route candidate into an executable reviewed route. The module is not yet complete because vendor/procurement quality and inventory reserve/liquidation still need either reviewed exact routes or explicit bounded non-implementation decisions.
This is the second live-accepted proof that the loop can turn a route candidate into an executable reviewed route. Phase95 now accepts `vendor_risk_procurement_quality` through reviewed procurement-concentration evidence. The module is not yet complete because inventory reserve/liquidation still needs either reviewed exact route enablement or an explicit bounded non-implementation decision.
## Next Work
Next slices:
1. Pick the next phase92 proof family: either `vendor_risk_procurement_quality` or `inventory_reserve_liquidation_quality`.
2. Identify whether reliable 1C evidence exists for the chosen family.
3. Wire the smallest reviewed route only if it can prove the business claim without overreach.
4. Keep proxy-only evidence bounded if exact proof is not reachable.
5. Rerun phase94 as a canary plus the focused next route-specific pack.
6. Save the next AGENT autorun only after accepted live replay and semantic review.
1. Identify whether reliable 1C evidence exists for `inventory_reserve_liquidation_quality`.
2. Wire the smallest reviewed route only if it can prove the inventory business claim without overreach.
3. Keep proxy-only evidence bounded if exact proof is not reachable.
4. Rerun phase95 as a canary plus the focused inventory route-specific pack.
@@ -0,0 +1,90 @@
# 30 - Vendor/Procurement Quality Reviewed Route (2026-05-12)
## Purpose
This note records the third proof-family promotion inside the `Route-Candidate-Driven Enablement Loop`.
The selected proof family is `vendor_risk_procurement_quality`.
The implementation deliberately does not pretend to be a full vendor-risk due-diligence engine. The reachable reviewed evidence is procurement/outgoing-payment concentration, supported by counterparty-role and contract-usage profiles.
The intended answer is:
- direct enough for supplier/procurement dependency questions;
- honest about bank-like counterparties such as `СБЕРБАНК, ПАО`;
- explicit that supplier reliability, delivery quality, payment purpose, contract terms, and full expense structure are not proven by this route.
## Implementation Cut
Implemented locally:
- `business_overview` now derives `vendor_procurement_quality` from confirmed outgoing payment rows, ranked outgoing counterparties, counterparty role profile, and contract usage profile;
- the derivation records:
- total outgoing amount and row count;
- top outgoing recipient and share;
- top non-financial recipient and share;
- whether a bank/financial institution leads the outgoing cash concentration;
- supplier-only/mixed-role counts and contract usage counters when available;
- evidence status: `reviewed_procurement_concentration`, `financial_institution_leads_outgoing_cash`, or `insufficient_supplier_concentration_basis`;
- `vendor_risk_procurement_quality` is no longer left in `missing_proof_families` when this reviewed procurement-concentration evidence exists;
- route-candidate status can now move to `ready_for_reviewed_execution` for `vendor_risk_procurement_boundary` instead of staying in `needs_route_enablement`;
- user-facing response candidates and answer drafts prefer a direct procurement-concentration explanation over the old generic proxy wording;
- bank-like outgoing leaders are separated from ordinary supplier dependency rather than being presented as normal suppliers.
## Boundaries
Still not claimed:
- supplier reliability;
- delivery quality;
- payment purpose for each payment;
- contract-term compliance;
- SLA/procurement due diligence;
- full expense structure.
This slice proves a reviewed procurement concentration boundary, not a complete vendor-risk audit.
## Validation
Local validation:
- `npm.cmd test -- assistantMcpDiscoveryPilotExecutor.test.ts assistantMcpDiscoveryRuntimeBridge.test.ts assistantMcpDiscoveryAnswerAdapter.test.ts assistantMcpDiscoveryResponseCandidate.test.ts` passed `118/118` with `1` skipped;
- `npm.cmd run build` passed.
Semantic/live replay:
- spec: `docs/orchestration/address_truth_harness_phase95_vendor_procurement_quality_reviewed_route.json`;
- accepted run: `artifacts/domain_runs/phase95_vendor_procurement_quality_reviewed_route_live2`;
- final status: `accepted`, `7/7` passed, `0` warnings, `0` failures;
- accepted autorun: `AGENT | Phase 95 vendor/procurement quality reviewed route` (`gen-ag05121357-9ea5d6`).
## Status
Current module wording:
`Route-Candidate-Driven Enablement Loop, active slice: third reviewed proof-family route accepted`
Progress: `92%`.
The loop has now promoted three phase92 proof families from candidate gaps into reviewed execution or locally reviewed execution:
- `accounting_profit_margin` accepted live by phase93;
- `debt_due_date_aging_quality` accepted live by phase94;
- `vendor_risk_procurement_quality` accepted live through procurement-concentration evidence by phase95.
The module is still not complete because the remaining `inventory_reserve_liquidation_quality` family still needs either reviewed-route enablement or an explicit bounded non-implementation decision.
## Next Work
Next slices:
1. Select the final remaining phase92 family: `inventory_reserve_liquidation_quality`.
2. Determine whether reachable 1C evidence can prove reserve/write-off/liquidation quality without overreach.
3. If yes, wire the smallest reviewed route and run a focused phase96 semantic replay.
4. If no, record an explicit bounded non-implementation decision and keep the proxy answer honest.
See also:
- [26 - route_candidate_driven_enablement_loop_2026-05-10.md](./26%20-%20route_candidate_driven_enablement_loop_2026-05-10.md)
- [27 - proof_family_enablement_candidates_2026-05-10.md](./27%20-%20proof_family_enablement_candidates_2026-05-10.md)
- [29 - debt_due_date_aging_reviewed_route_2026-05-10.md](./29%20-%20debt_due_date_aging_reviewed_route_2026-05-10.md)
@@ -47,6 +47,7 @@ This package answers the next question:
27. [27 - proof_family_enablement_candidates_2026-05-10.md](./27%20-%20proof_family_enablement_candidates_2026-05-10.md)
28. [28 - accounting_profit_margin_reviewed_route_2026-05-10.md](./28%20-%20accounting_profit_margin_reviewed_route_2026-05-10.md)
29. [29 - debt_due_date_aging_reviewed_route_2026-05-10.md](./29%20-%20debt_due_date_aging_reviewed_route_2026-05-10.md)
30. [30 - vendor_procurement_quality_reviewed_route_2026-05-12.md](./30%20-%20vendor_procurement_quality_reviewed_route_2026-05-12.md)
## Current Status Snapshot (2026-05-10)
@@ -100,6 +101,8 @@ Status canon for planning:
- The accepted user-runnable autorun for that slice is `AGENT | Phase 93 accounting profit-margin reviewed route` (`gen-ag05101213-596d99`).
- The second proof-family route is now implemented and accepted: `debt_due_date_aging_quality` moved from proxy-only route-candidate gap to reviewed payment-term/open-balance execution; `phase94_debt_due_date_aging_reviewed_route_live4` passed `7/7`.
- The accepted user-runnable autorun for that slice is `AGENT | Phase 94 debt due-date aging reviewed route` (`gen-ag05101319-c04f79`).
- The third proof-family route is now implemented and accepted: `vendor_risk_procurement_quality` moves from missing proof-family gap into reviewed procurement-concentration evidence when outgoing payment, bank-like recipient, non-financial recipient, counterparty-role, and contract-usage signals are reachable; `phase95_vendor_procurement_quality_reviewed_route_live2` passed `7/7`.
- The accepted user-runnable autorun for that slice is `AGENT | Phase 95 vendor/procurement quality reviewed route` (`gen-ag05121357-9ea5d6`).
- The phase94 replay spec was repaired to real UTF-8 Russian before autorun persistence, so the saved user-runnable pack does not repeat the earlier GUI mojibake/card-text regression.
- The short source of truth for status wording is [21 - current_status_canon_2026-05-01.md](./21%20-%20current_status_canon_2026-05-01.md).
- The current execution spine after EHMO is [23 - current_execution_spine_and_semantic_control_gate_2026-05-05.md](./23%20-%20current_execution_spine_and_semantic_control_gate_2026-05-05.md).
@@ -109,6 +112,7 @@ Status canon for planning:
- The current proof-family enablement-candidate slice is [27 - proof_family_enablement_candidates_2026-05-10.md](./27%20-%20proof_family_enablement_candidates_2026-05-10.md).
- The current first reviewed proof-family route slice is [28 - accounting_profit_margin_reviewed_route_2026-05-10.md](./28%20-%20accounting_profit_margin_reviewed_route_2026-05-10.md).
- The current second reviewed proof-family route slice is [29 - debt_due_date_aging_reviewed_route_2026-05-10.md](./29%20-%20debt_due_date_aging_reviewed_route_2026-05-10.md).
- The current third reviewed proof-family route slice is [30 - vendor_procurement_quality_reviewed_route_2026-05-12.md](./30%20-%20vendor_procurement_quality_reviewed_route_2026-05-12.md).
It now documents a turnaround that is already operational in code, already materially past the acute regression breakpoint, and already moved through bounded MCP autonomy, Post-F hardening, inventory breadth proof, and the declared Planner Autonomy slice:
@@ -172,13 +176,13 @@ Current honest status:
- pre-multidomain readiness: `~90%`
- bounded-autonomy foundation readiness: `~89%`
- open-world bounded-autonomy readiness: `~87%`
- active Open-World Bounded Autonomy Breadth implementation breadth: `~99%`, with business-overview evidence fusion, the reviewed `business_overview` catalog/data-need/planner route-fabric slice, the fresh multi-probe runtime bridge, the explicit-period VAT/tax fact-family bridge, the explicit-period debt-position bridge, the explicit-date inventory-position bridge, the open-settlement quality bridge accepted by live semantic replay, selected-item profitability bridged by local semantic/runtime regression tests, contract-date debt age bridged locally, debt staleness-risk proxy bridged locally, debt due-date boundary arbitration bridged locally, inventory reserve/liquidation boundary arbitration bridged locally, supplier/procurement-quality boundary arbitration bridged locally, supplier concentration proxy bridged locally, document/account-section activity profile bridged locally, counterparty population/roles and contract usage profiles bridged locally, yearly operating-flow proxy bridged locally, earnings/best-year wording arbitration bridged locally, profit/margin wording boundary arbitration bridged locally, analyst synthesis added to business-overview answer drafting, company-period trading margin proxy bridged locally, inventory sales-to-stock proxy bridged locally, inventory staleness-risk proxy bridged locally, gap-specific answer shaping bridged locally, missing proof families recorded as runtime evidence ledger, exact accounting profit/margin promoted into a reviewed 90/91/99 route by phase93, and debt due-date aging promoted into a reviewed payment-term/open-balance route by phase94; confirmed vendor-risk/procurement-quality analysis and confirmed reserve/write-off/liquidation inventory evidence are still pending
- active Open-World Bounded Autonomy Breadth implementation breadth: `~99%`, with business-overview evidence fusion, the reviewed `business_overview` catalog/data-need/planner route-fabric slice, the fresh multi-probe runtime bridge, the explicit-period VAT/tax fact-family bridge, the explicit-period debt-position bridge, the explicit-date inventory-position bridge, the open-settlement quality bridge accepted by live semantic replay, selected-item profitability bridged by local semantic/runtime regression tests, contract-date debt age bridged locally, debt staleness-risk proxy bridged locally, debt due-date boundary arbitration bridged locally, inventory reserve/liquidation boundary arbitration bridged locally, supplier/procurement-quality boundary arbitration bridged locally, supplier concentration proxy bridged locally, document/account-section activity profile bridged locally, counterparty population/roles and contract usage profiles bridged locally, yearly operating-flow proxy bridged locally, earnings/best-year wording arbitration bridged locally, profit/margin wording boundary arbitration bridged locally, analyst synthesis added to business-overview answer drafting, company-period trading margin proxy bridged locally, inventory sales-to-stock proxy bridged locally, inventory staleness-risk proxy bridged locally, gap-specific answer shaping bridged locally, missing proof families recorded as runtime evidence ledger, exact accounting profit/margin promoted into a reviewed 90/91/99 route by phase93, debt due-date aging promoted into a reviewed payment-term/open-balance route by phase94, and vendor/procurement quality promoted into reviewed procurement-concentration evidence by phase95; confirmed reserve/write-off/liquidation inventory evidence is still pending
- active Open-World Bounded Autonomy Breadth accepted-module progress: `~99%`, because the EHMO-derived `Open-World Semantic Control Gate` critical subset accepts live at `21/21` after W5/W7 hardening; full closure is still held back for the fat manual GUI pack and remaining answer-shape residual review
- Post-F semantic integrity module progress: `~99%` operationally closed, with remaining risk now treated as next-slice discovery rather than an open blocker inside the closed slice
- active inventory-stock breadth slice progress: `100%` for the declared scenario pack, not for arbitrary inventory questions
- Planner Autonomy Consolidation progress: `100%` for the declared module, with catalog-fabric, value-flow arbitration, lifecycle bounded inference, broad-evaluation bridge, inventory catalog templates, inventory runtime-boundary honesty, exact inventory recipe bridging, unambiguous metadata-surface lane inference, catalog chain-template scoring, structured chain-match contract exposure, runtime/debug propagation, subject-aware bidirectional comparison arbitration, structured catalog-alignment verdicts, representative alignment regression guard, catalog-alignment reason-code telemetry, explicit `alignment_status` propagation, truth-harness/acceptance-matrix surfacing, soft divergence warning, `catalog_alignment_ok` acceptance invariant, step-level expected catalog-alignment assertions, phase66 and phase32 spec alignment expectations, AGENT source-catalog surfacing, generated phase83 mixed planner-brain replay spec, checked-source user-facing error sanitation, surface-grounded catalog promotion, and guarded live phase83 acceptance validated. Broader unfamiliar 1C asks are now next-module breadth work rather than an open blocker inside this declared slice
- Open-World Route Candidate Promotion progress: `100%` for the declared phase90 slice, with structured `route_candidate` runtime contract, artifact propagation, live semantic replay accepted at `5/5`, and accepted AGENT autorun persistence; broader autonomous route enablement remains the next active slice
- Route-Candidate-Driven Enablement Loop progress: `84%`, with deterministic repair-target grouping, Lead Codex handoff surfacing, local tooling tests, live phase91 canary acceptance, phase92 proof-family candidates accepted/saved as a user-runnable AGENT autorun, `accounting_profit_margin` promoted into reviewed 90/91/99 execution by phase93 live replay, and `debt_due_date_aging_quality` promoted into reviewed payment-term/open-balance execution by phase94 live replay; the remaining unresolved proof families are vendor/procurement quality and inventory reserve/liquidation
- Route-Candidate-Driven Enablement Loop progress: `92%`, with deterministic repair-target grouping, Lead Codex handoff surfacing, local tooling tests, live phase91 canary acceptance, phase92 proof-family candidates accepted/saved as a user-runnable AGENT autorun, `accounting_profit_margin` promoted into reviewed 90/91/99 execution by phase93 live replay, `debt_due_date_aging_quality` promoted into reviewed payment-term/open-balance execution by phase94 live replay, and `vendor_risk_procurement_quality` promoted into reviewed procurement-concentration evidence by phase95 live replay; the remaining inventory reserve/liquidation proof family is still pending
- graph snapshot after latest rebuild: see `graphify-out/GRAPH_REPORT.md`
- current regression-gate breakpoint:
- the validated hot paths are no longer structurally broken;
@@ -267,6 +271,7 @@ Latest live proof now includes:
- proof-family enablement candidates accepted locally/live: targeted runtime/answer/turn-input/candidate tests passed `178/178` with `8` skipped; `address_truth_harness_phase92_proof_family_enablement_candidates_live5_20260510` accepted `6/6`, proving exact profit/margin, debt due-date aging, vendor-risk/procurement-quality, and reserve/liquidation asks remain bounded while their missing reviewed proof families become concrete route-candidate enablement targets; the accepted autorun is `AGENT | Phase 92 proof-family enablement candidates` (`gen-ag05101045-374169`).
- accounting profit/margin reviewed route accepted locally/live: targeted runtime/answer/turn-input/candidate/intent tests passed `194/194` with `8` skipped; targeted VAT tax-period regression passed; `address_truth_harness_phase93_accounting_profit_margin_reviewed_route_live3_20260510` accepted `6/6`, proving 90/91/99 accounting result, short profit/loss follow-up continuity, VAT continuity, value-flow canary, and inventory reserve boundary canary together; the accepted autorun is `AGENT | Phase 93 accounting profit-margin reviewed route` (`gen-ag05101213-596d99`).
- debt due-date aging reviewed route accepted locally/live: transition policy passed `38/38`, turn-input adapter passed `103/103` with `7` skipped, executor/answer/candidate/runtime bridge passed `113/113` with `1` skipped, build passed; `phase94_debt_due_date_aging_reviewed_route_live4` accepted `7/7`, proving payment-term/open-balance checked-negative overdue answers, short due-date boundary follow-up continuity, profit/margin/VAT/value-flow canaries, and reserve/vendor boundary safety together; the accepted autorun is `AGENT | Phase 94 debt due-date aging reviewed route` (`gen-ag05101319-c04f79`).
- vendor/procurement quality reviewed route accepted locally/live: executor/runtime bridge/answer/candidate tests passed `118/118` with `1` skipped, build passed; `phase95_vendor_procurement_quality_reviewed_route_live2` accepted `7/7`; `vendor_risk_procurement_quality` now derives reviewed procurement-concentration evidence from confirmed outgoing payment rows, separates bank-like outgoing leaders from ordinary supplier dependency, removes the proof family from `missing_proof_families` when this reviewed evidence exists, and can promote `vendor_risk_procurement_boundary` route candidates to `ready_for_reviewed_execution`; the accepted autorun is `AGENT | Phase 95 vendor/procurement quality reviewed route` (`gen-ag05121357-9ea5d6`).
Current architectural reading:
@@ -344,6 +349,8 @@ Read in this order:
27. `26 - route_candidate_driven_enablement_loop_2026-05-10.md`
28. `27 - proof_family_enablement_candidates_2026-05-10.md`
29. `28 - accounting_profit_margin_reviewed_route_2026-05-10.md`
30. `29 - debt_due_date_aging_reviewed_route_2026-05-10.md`
31. `30 - vendor_procurement_quality_reviewed_route_2026-05-12.md`
## Planning Rules
@@ -0,0 +1,249 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase95_vendor_procurement_quality_reviewed_route",
"domain": "address_phase95_vendor_procurement_quality_reviewed_route",
"title": "Phase 95 vendor/procurement quality reviewed route",
"description": "Focused semantic replay for promoting vendor_risk_procurement_quality from proxy-only enablement to reviewed procurement-concentration evidence while preserving debt, profit, VAT, value-flow, and inventory reserve canaries.",
"bindings": {},
"steps": [
{
"step_id": "step_01_vendor_procurement_concentration_ready",
"title": "Vendor/procurement boundary uses reviewed outgoing concentration evidence",
"question": "по ООО Альтернатива Плюс за 2020 есть ли риск, что мы зависим от одного поставщика?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_catalog_alignment_status": "selected_matches_top",
"expected_catalog_chain_top_match": "business_overview",
"expected_catalog_selected_matches_top": true,
"expected_route_candidate_status": "ready_for_reviewed_execution",
"expected_route_candidate_executable_now": true,
"required_answer_patterns_all": [
"(?i)поставщик|vendor|supplier|закуп|procurement",
"(?i)концентрац|зависим|исходящ|получател",
"(?i)надежност|качество|назначени|не доказ|не подтвержд"
],
"forbidden_answer_patterns": [
"(?i)точно подтверждаю.*надежност",
"(?i)точно подтверждаю.*качество",
"(?i)route_candidate",
"(?i)query_movements",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"business_overview",
"vendor_risk_procurement_boundary",
"vendor_risk_procurement_quality",
"ready_for_reviewed_execution"
]
},
{
"step_id": "step_02_short_vendor_followup_keeps_bank_boundary",
"title": "Short follow-up keeps bank-like recipient boundary",
"question": "а банк из этого ответа считать обычным поставщиком?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_catalog_alignment_status": "selected_matches_top",
"expected_catalog_chain_top_match": "business_overview",
"expected_catalog_selected_matches_top": true,
"expected_route_candidate_status": "ready_for_reviewed_execution",
"expected_route_candidate_executable_now": true,
"required_answer_patterns_all": [
"(?i)банк|финансов",
"(?i)не.*обычн.*поставщик|не.*поставщик|отдельн",
"(?i)назначени.*платеж|договор|не доказ|не подтвержд"
],
"forbidden_answer_patterns": [
"(?i)уточните организац",
"(?i)какую компанию",
"(?i)route_candidate",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"business_overview",
"context_carryover",
"vendor_risk_procurement_boundary",
"financial_institution_boundary"
]
},
{
"step_id": "step_03_debt_due_date_canary_still_reviewed",
"title": "Debt due-date canary still uses reviewed payment-term evidence",
"question": "по этой же компании на конец 2020 можно точно понять, какая дебиторка просрочена?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_catalog_alignment_status": "selected_matches_top",
"expected_catalog_chain_top_match": "business_overview",
"expected_catalog_selected_matches_top": true,
"expected_route_candidate_status": "ready_for_reviewed_execution",
"expected_route_candidate_executable_now": true,
"required_answer_patterns_all": [
"(?i)дебитор|долг|открыт.*расчет|остат",
"(?i)2020|2020-12-31|конец 2020",
"(?i)срок.*оплат|due[- ]?date|просроч",
"(?i)не установлен|не подтвержд|не доказ|нет подтвержденной просроч"
],
"forbidden_answer_patterns": [
"(?i)точно подтверждаю.*просроч",
"(?i)route_candidate",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"business_overview",
"debt_due_date_boundary",
"canary"
]
},
{
"step_id": "step_04_profit_margin_canary_still_reviewed",
"title": "Profit/margin canary still uses accounting result route",
"question": "а чистая прибыль и маржа за 2020 какие?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_catalog_alignment_status": "selected_matches_top",
"expected_catalog_chain_top_match": "business_overview",
"expected_catalog_selected_matches_top": true,
"expected_route_candidate_status": "ready_for_reviewed_execution",
"expected_route_candidate_executable_now": true,
"required_answer_patterns_all": [
"(?i)90/91/99|90\\.01|99",
"(?i)учетн|финрезульт|прибыл|убыт",
"(?i)марж|рентаб",
"(?i)2020"
],
"forbidden_answer_patterns": [
"(?i)только bounded operating-flow/trading-margin proxy",
"(?i)route_candidate",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"business_overview",
"profit_margin_boundary",
"accounting_profit_margin",
"canary"
]
},
{
"step_id": "step_05_vat_canary_still_answers",
"title": "VAT continuity canary still answers from reviewed tax route",
"question": "НДС за 2020 по ООО Альтернатива Плюс какой?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)НДС|VAT|налог",
"(?i)2020",
"(?i)продаж|покуп|к уплат|к возмещ|зачет",
"(?i)подтвержд|проверенн|1С"
],
"forbidden_answer_patterns": [
"(?i)route_candidate",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"business_overview",
"vat_continuity",
"canary"
]
},
{
"step_id": "step_06_value_flow_ranking_context_still_works",
"title": "Value-flow ranking still uses organization context",
"question": "а кто принес больше всего денег за 2020?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_catalog_alignment_status": "selected_matches_top",
"expected_catalog_chain_top_match": "value_flow_ranking",
"expected_catalog_selected_matches_top": true,
"expected_route_candidate_status": "ready_for_reviewed_execution",
"expected_route_candidate_executable_now": true,
"required_answer_patterns_all": [
"(?i)2020",
"(?i)контрагент|клиент|покупател",
"(?i)деньг|поступ|выруч|руб",
"(?i)подтвержд|проверенн|найден"
],
"forbidden_answer_patterns": [
"(?i)уточните организац",
"(?i)какую компанию",
"(?i)route_candidate",
"(?i)query_movements",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"value_flow_ranking",
"context_carryover",
"canary"
]
},
{
"step_id": "step_07_inventory_reserve_boundary_still_needs_route",
"title": "Inventory reserve boundary remains honest and bounded",
"question": "по ООО Альтернатива Плюс на конец 2020 можно точно подтвердить резерв под неликвиды на складе?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage",
"no_grounded_answer"
],
"expected_catalog_alignment_status": "selected_matches_top",
"expected_catalog_chain_top_match": "business_overview",
"expected_catalog_selected_matches_top": true,
"expected_route_candidate_status": "needs_route_enablement",
"expected_route_candidate_executable_now": false,
"required_answer_patterns_all": [
"(?i)резерв|неликвид|склад|товар",
"(?i)не подтвержд|не доказ|нельзя точно|нет точн",
"(?i)списан|ликвидац|учетн|провер"
],
"forbidden_answer_patterns": [
"(?i)точно подтверждаю",
"(?i)route_candidate",
"(?i)primitive",
"(?i)planner_",
"(?i)catalog_"
],
"criticality": "critical",
"semantic_tags": [
"business_overview",
"inventory_reserve_boundary",
"missing_proof_families",
"canary"
]
}
]
}