README.md
11 - Architecture Turnaround Package
Purpose
This folder is the execution-oriented continuation of the baseline note:
That baseline note answers:
- what the project is today;
- where the main architectural fragility sits;
- what direction is safe.
This package answers the next question:
- how the team should design the architectural turnaround without breaking the current exact-data baseline.
Package Contents
- 01 - project_architecture_baseline_map.md
- 02 - state_and_transition_contracts.md
- 03 - capability_contract_spec.md
- 04 - coverage_evidence_truth_gate.md
- 05 - assistantService_extraction_map.md
- 06 - phase_acceptance_matrix.md
- 07 - external_reference_appendix.md
- 08 - current_status_audit_2026-04-17.md
- 09 - pre_expansion_cut_2026-04-17.md
- 10 - regression_breakpoint_analysis_2026-04-17.md
- 11 - continuity_stabilization_plan_2026-04-17.md
- 12 - manual_run_system_analysis_3NilqwT1G2_2026-04-18.md
- 13 - pre_multidomain_readiness_audit_2026-04-18.md
- 14 - semantic_dialog_authority_recovery_plan_2026-04-19.md
- 15 - mcp_bounded_autonomy_reset_plan_2026-04-21.md
- 16 - data_need_graph_and_open_world_mcp_plan_2026-04-22.md
- 17 - post_f_semantic_integrity_hardening_2026-04-23.md
- 18 - post_f_code_documentation_sync_2026-04-24.md
- 19 - inventory_stock_open_world_breadth_proof_2026-05-01.md
- 20 - planner_autonomy_consolidation_2026-05-01.md
Current Status Snapshot (2026-05-01)
This package is no longer planning-only.
It now documents a turnaround that is already operational in code, already materially past the acute regression breakpoint, and already moved through the bounded MCP autonomy build-out into the next semantic hardening layer:
-
route, transition, boundary, meta, memory, and provider policy owners exist as separate modules;
-
exact-lane truth and coverage/evidence contracts exist as explicit runtime artifacts;
-
scenario acceptance writes machine-readable
scenario_acceptance_matrix.jsonandpack_state.json; -
AGENT semantic packs and source catalogs already exist for mixed domain/meta validation.
-
the reset toward
MCP-first bounded autonomyis now formalized; -
Big Block A/B/Cof that reset are now closed in runtime code and replay-backed; -
Big Block D/E/Fare now also materially closed in runtime code and replay-backed:Question -> Data Need Graph- dynamic schema traversal and primitive search
- multi-hop evidence loop with bounded clarification recovery
-
the current architecture mainline is now
Post-F Semantic Integrity Hardening:- protect grounded subject integrity against stale scope contamination
- protect exact and planner-selected pivots from metadata/discovery drift
- keep temporal continuity and repeated lane switches semantically stable
- recover already-supported questions that still look broken to a human user
-
the Post-F module is now operationally closed as a hardening slice:
- code fix commit:
739e8b8 Post-F: закрыть ручные провалы НДС, выручки и item-flow - runtime artifact tail commit:
837e1fe Post-F: сохранить хвосты ручных runtime-прогонов - live map sync: 18 - post_f_code_documentation_sync_2026-04-24.md
- code fix commit:
-
the next bounded breadth slice is now replay-backed under Post-F gates:
- inventory stock/provenance/sale-trace pack:
inventory_stock_open_world_breadth_rerun_semantic_integrity_20260501_fix5, accepted - live map sync: 19 - inventory_stock_open_world_breadth_proof_2026-05-01.md
- inventory stock/provenance/sale-trace pack:
-
Planner Autonomy Consolidation is now active beyond the initial catalog-template cut:
- MCP catalog now carries reusable chain templates in addition to primitive contracts;
- planner route-fabric selection has started moving from local recipe branches toward catalog-instantiated chains;
- value-flow, value-flow comparison, value-flow ranking, lifecycle, metadata, movement, document, and entity fallback branches now expose catalog-template instantiation reason codes in planner output;
- explicit document/movement data-need now scores over ambiguous carried metadata surfaces without forcing neutral follow-ups into a lane;
- lifecycle now behaves as a bounded activity-window inference chain with an explicit legal-fact boundary instead of an unqualified age answer;
- current-turn value-flow aggregate questions can override narrower supported exact routes when the user asks for totals/net/payment amounts;
- broad business evaluation remains in the deterministic living-chat bridge instead of being displaced by generic metadata discovery;
- inventory stock snapshot, supplier overlap, purchase provenance, and sale trace are now reviewed catalog chain templates; generic free-form inventory execution remains forbidden, and evidence must pass through reviewed exact recipe bridges;
- runtime bridge and answer adapter now keep unsupported inventory route templates behind an explicit user-facing boundary instead of letting template planning look like confirmed stock/supplier/purchase/sale evidence;
- inventory catalog templates now bridge through existing exact inventory recipes (
41.01scoped stock, supplier overlap, purchase provenance, and sale trace) inside the bounded MCP discovery pilot, while missing selected-item anchors still clarify instead of guessing; - unambiguous metadata surfaces can now infer the next reviewed lane from
Document.*,Register.*, orCatalog.*objects even before upstream labelsdownstream_route_family, while mixed surfaces still do not guess; - catalog index now scores reviewed chain templates directly from fact/action/axis/comparison/ranking needs, and planner/runtime/debug surfaces expose ranked catalog chain matches through the structured
catalog_chain_template_matchescontract path instead of relying only on reason-code strings; - live map sync: 20 - planner_autonomy_consolidation_2026-05-01.md
Current honest status:
- turnaround implementation progress:
~99% - exit-from-danger-zone readiness:
~97% - pre-multidomain readiness:
~90% - bounded-autonomy foundation readiness:
~89% - open-world bounded-autonomy readiness:
~85% - 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:
~82%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, and runtime/debug propagation validated locally, but live replay for the new bridge is currently blocked by missing active 1C polling and broader unfamiliar 1C asks still need replay-backed growth - graph snapshot after latest rebuild:
5940 nodes,12909 edges,137 communities - current breakpoint:
- the validated hot paths are no longer structurally broken;
- flagship continuity collapse is no longer the primary risk;
- the main remaining risk is no longer "A/B/C or D/E/F do not exist", but "already-supported semantic chains can still be contaminated by stale scope, legacy focus state, or wrong post-pivot arbitration";
- pure wording polish remains secondary debt, but semantic integrity and explicit-subject protection are now first-class blockers;
- the practical product risk is no longer only "the route collapsed", but "the user can still occasionally see a semantically wrong answer on a question that the architecture should already support".
- main remaining architectural pressure:
- open-world breadth is still narrower than the intended arbitrary 1C blast radius
- planner-selected chains are now real, but still not broad enough to cover unfamiliar 1C asks without additional primitive/search growth
- semantic integrity can still fail on stale carryover, repeated pivots, and mixed scope contamination if those seams are not replay-hardened
- central domain-intent pressure inside
resolveAddressIntent() - replay breadth is still below the future open-world autonomy surface
Latest live proof now includes:
address_truth_harness_phase24_metadata_lane_choice_loop_live_rerun14acceptedaddress_truth_harness_phase32_planner_selected_chain_end_to_end_live_rerun2accepted6/6address_truth_harness_phase42_catalog_metadata_drilldown_live_rerun2acceptedaddress_truth_harness_phase45_multi_hop_open_total_clarification_loop_live_rerun2acceptedaddress_truth_harness_phase67_svk_grounded_counterparty_integrity_live_rerun_vatfixacceptedaddress_truth_harness_phase68_referential_document_followup_integrity_live_rerun1acceptedaddress_truth_harness_phase69_document_to_payments_pronoun_pivot_live_rerun3acceptedaddress_truth_harness_phase72_document_to_contracts_year_switch_live_rerun3acceptedaddress_truth_harness_phase80_payments_to_contracts_to_documents_all_time_live_rerun1acceptedaddress_truth_harness_phase82_human_mixed_integrity_status_dialog_post_m23_rerun_documents_scope_bidirectionalaccepted19/19address_truth_harness_phase82_human_mixed_integrity_status_dialog_post_f_account_injection_guard_clean_scopeaccepted19/19, with theЖуковке 51numeric counterparty suffix kept as counterparty scope instead of leaking as account51address_truth_harness_post_f_cross_stage_canary_agent_20260424_live7accepted24/24, proving a saved cross-stage AGENT canary across VAT metadata, metadata-scoped organization/document pivots, numeric counterparty suffixes, open-organization value-flow clarification, ranked value-flow year switches, and SVK grounded reset; the saved autorun isAGENT | Post-F cross-stage semantic integrity canary(gen-ag04241406-abe4d8)address_truth_harness_post_f_manual_failures_20260424_live3accepted11/11, proving the manual failure slice fromassistant-stage1-9liEOh-7JP: VAT purchase-date, VAT February 2017, highest-value customer, and Chepurnov item-flow after stale inventory context; the saved autorun isAGENT | Post-F ручные провалы VAT revenue item-flow live3(gen-ag04241710-bdb248)address_truth_harness_phase11_manual_followup_meta_quality_live_rerun_vatfixaccepted10/10address_truth_harness_phase20_continuity_stabilization_live_rerun_vatfixaccepted6/6addressQueryRuntimeM23.test.tsfull semantic/runtime slice accepted403/403after Post-F VAT/date-basis, scope-recovery, open value-flow organization clarification, document-vs-bank arbitration, and reply-shape hardeninginventory_stock_open_world_breadth_rerun_semantic_integrity_20260501_fix5accepted all declared inventory stock scenarios: root snapshots, selected-item supplier provenance, supplier overlap, stock aging/unresolved supplier-link, sale trace, and purchase-to-sale chainaddress_truth_harness_phase66_human_org_open_scope_dialog_planner_template_rerun2accepted7/7, proving catalog-instantiated value-flow still preserves open-organization clarification, year switches, and guarded candidate arbitrationaddress_truth_harness_phase52_metadata_movement_full_recovery_planner_metadata_scoring_rerun2accepted4/4, proving metadata-born movement continuation keeps lane choice, organization, and period recovery intactaddress_truth_harness_phase54_metadata_document_full_recovery_planner_metadata_scoring_rerun2accepted4/4, proving metadata-born document continuation keeps lane choice, organization, and period recovery intact- MCP planner/catalog consolidation slice accepted locally:
assistantMcpCatalogIndex.test.ts+assistantMcpDiscoveryPlanner.test.tspassed47/47, full MCP-discovery slice passed227/227with9skipped - lifecycle/value-flow Planner Autonomy response gate accepted:
address_truth_harness_phase19_mcp_discovery_response_gate_planner_lifecycle_rerun4accepted8/8, proving bounded lifecycle inference, current-turn value-flow aggregate arbitration, and sanitized evidence wording - broad-evaluation bridge continuity accepted:
address_truth_harness_phase21_net_followup_after_broad_eval_planner_lifecycle_rerun2accepted3/3andaddress_truth_harness_phase22_broad_business_evaluation_bridge_planner_lifecycle_rerun2accepted3/3 - latest local Planner Autonomy slice accepted: full MCP-discovery suite passed
268/268with9skipped; broad MCP/living-chat/route/meaning slice passed305/305with9skipped; build passed - inventory template lift accepted locally: catalog/data-need/planner/turn-input slice passed
139/139with6skipped; full MCP-discovery slice passed276/276with9skipped; build passed; graphify stayed at5912 nodes,12833 edges,138 communities - inventory runtime-boundary hardening accepted locally: runtime-bridge/answer-adapter/pilot-executor slice passed
68/68with1skipped; full MCP-discovery slice passed277/277with9skipped; build passed; graphify rebuilt to5913 nodes,12837 edges,138 communities - inventory exact-runtime bridge accepted locally: runtime-bridge/answer-adapter/pilot-executor slice passed
70/70with1skipped; full MCP-discovery slice passed279/279with9skipped; build passed; graphify rebuilt to5930 nodes,12884 edges,135 communities - unambiguous metadata-surface lane inference accepted locally: planner slice passed
36/36; full MCP-discovery slice passed281/281with9skipped; build passed; graphify rebuilt to5937 nodes,12899 edges,138 communities - live inventory exact-bridge rerun
inventory_stock_exact_bridge_live_20260501_after_runtime_bridgeis recorded as infrastructure-blocked, not accepted: route/intent/recipe/capability matched, but MCP calls aborted and directget_metadatatimed out while proxy health showedactive_sessions_count=0with pending commands - catalog chain-template scoring accepted locally: catalog/planner slice passed
54/54; full MCP-discovery slice passed282/282with9skipped; build passed; graphify rebuilt to5938 nodes,12903 edges,139 communities - structured chain-template planner contract accepted locally: planner slice passed
36/36; full MCP-discovery slice passed282/282with9skipped; build passed; graphify rebuilt to5939 nodes,12906 edges,138 communities - structured chain-template runtime/debug propagation accepted locally: runtime/debug slice passed
18/18; full MCP-discovery slice passed282/282with9skipped; build passed; graphify rebuilt to5940 nodes,12909 edges,137 communities
Current architectural reading:
- the system is already materially past the dangerous regression breakpoint;
- it is now safe for continued architecture hardening and controlled domain-by-domain enablement under replay gates;
- it is materially closer to pre-multidomain stability, but still not safe to declare broad low-risk expansion over arbitrary unfamiliar 1C questions.
- the practical next target is no longer Post-F rescue itself; it is broader open-world bounded autonomy over 1C evidence while preserving the Post-F semantic-integrity invariants as regression gates.
- from this point onward, readiness must be judged not only by route truth and replay pass rate, but also by whether already-supported questions stay semantically correct through stale memory, pivots, clarifications, and mixed scope resets.
For the detailed audit, current percentages, and remaining debt, read:
- 08 - current_status_audit_2026-04-17.md
- 09 - pre_expansion_cut_2026-04-17.md
- 10 - regression_breakpoint_analysis_2026-04-17.md
- 11 - continuity_stabilization_plan_2026-04-17.md
- 12 - manual_run_system_analysis_3NilqwT1G2_2026-04-18.md
- 13 - pre_multidomain_readiness_audit_2026-04-18.md
- 14 - semantic_dialog_authority_recovery_plan_2026-04-19.md
- 15 - mcp_bounded_autonomy_reset_plan_2026-04-21.md
- 16 - data_need_graph_and_open_world_mcp_plan_2026-04-22.md
- 17 - post_f_semantic_integrity_hardening_2026-04-23.md
- 19 - inventory_stock_open_world_breadth_proof_2026-05-01.md
- 20 - planner_autonomy_consolidation_2026-05-01.md
Architectural Objects Of Planning
This package makes five objects explicit:
state modeltransition modelcapability contract modelcoverage / evidence / truth gateassistantService extraction plan
These are the objects that should now drive refactoring discussions.
How To Use The Package
Read in this order:
- baseline note in
docs/ARCH/11 - unified_project_architecture_and_reference_update_plan_2026-04-15.md 01 - project_architecture_baseline_map.md02 - state_and_transition_contracts.md03 - capability_contract_spec.md04 - coverage_evidence_truth_gate.md05 - assistantService_extraction_map.md06 - phase_acceptance_matrix.md07 - external_reference_appendix.md08 - current_status_audit_2026-04-17.md09 - pre_expansion_cut_2026-04-17.md10 - regression_breakpoint_analysis_2026-04-17.md11 - continuity_stabilization_plan_2026-04-17.md12 - manual_run_system_analysis_3NilqwT1G2_2026-04-18.md13 - pre_multidomain_readiness_audit_2026-04-18.md14 - semantic_dialog_authority_recovery_plan_2026-04-19.md15 - mcp_bounded_autonomy_reset_plan_2026-04-21.md16 - data_need_graph_and_open_world_mcp_plan_2026-04-22.md17 - post_f_semantic_integrity_hardening_2026-04-23.md18 - post_f_code_documentation_sync_2026-04-24.md19 - inventory_stock_open_world_breadth_proof_2026-05-01.md20 - planner_autonomy_consolidation_2026-05-01.md
Planning Rules
- Do not treat this package as a rewrite plan.
- Do not dissolve
AddressQueryServiceinto generic chat logic. - Do not move state back into transcript-only memory.
- Do not let answer wording substitute for policy/runtime fixes.
- Use scenario-based acceptance as the primary gate for all phases.
Expected Outcome
When this package is fully operational, the project should stop being described as:
- "a big custom assistant service with many heuristics"
and start being described as:
- "a stateful exact-data assistant with explicit transition contracts and isolated truth gating."
As of 2026-04-24, the project is already materially closer to the target description and is no longer in the same acute collapse state. The remaining blocker is no longer the original continuity failure itself, no longer the A/B/C or D/E/F build-out, and no longer the first Post-F rescue slice. The active blocker is now the combination of:
- unfinished convergence from reviewed bounded MCP chains toward broader open-world autonomy;
- continued use of Post-F semantic integrity invariants as regression gates while that breadth grows.
The biggest remaining blockers are:
- broader open-world primitive search is still narrower than the future arbitrary 1C blast radius;
- dynamic schema traversal is still not broad enough for many unfamiliar 1C asks outside the repaired families;
- new stale-scope or post-pivot seams may still appear in future breadth work and must be treated as regression-gated semantic defects, not as wording polish;
- residual
assistantServiceoverload; - central intent pressure in
resolveAddressIntent(); - semantic robustness gaps may still appear where already-supported questions meet new wording, typo pressure, short follow-up retargets, or human-answer mismatch.