{"category":"The Collaborative Partner","rules":[{"rule":"asks clarifying questions and guides step by step","implementation":"downstream/partner.py: next_question","test":"tests/test_partner.py::test_questions_are_one_at_a_time_and_not_repeated"},{"rule":"captures feedback and adapts to the user's way of thinking","implementation":"downstream/partner.py: record_feedback and profile","test":"tests/test_partner.py::test_unknown_term_changes_later_language"},{"rule":"turns conflicting retrieved facts into targeted clarification","implementation":"downstream/collaboration.py: questions_for","test":"tests/test_collaboration.py::test_source_conflict_becomes_a_targeted_question"},{"rule":"owner corrections mutate the draft and preserve revision history","implementation":"downstream/partner.py: revise_answer","test":"tests/test_collaboration.py::test_revision_changes_plan_and_keeps_history"},{"rule":"manages state and context across sessions","implementation":"FirestoreWorkspaceStore plus context_meter","test":"tests/test_partner.py::test_resume_keeps_facts_and_context_bounded"},{"rule":"autonomous high-value action over simple chat","implementation":"downstream/autonomy.py: open_run and autonomy_proof","test":"tests/test_autonomy.py::test_opening_a_workspace_runs_a_sequence_with_no_human_step"},{"rule":"asynchronous background execution over long timelines","implementation":"spine/wake.py plus service/internal_routes.py: /internal/scan-due","test":"tests/test_internal_routes.py::test_a_due_wake_is_dispatched_and_changes_the_stored_workspace"},{"rule":"the whole workflow is demonstrable in one request","implementation":"service/routes.py: /downstream/demo/run","test":"tests/test_demo_run.py::test_one_request_reaches_a_reviewable_draft"},{"rule":"identifiers are pseudonymised before any model boundary","implementation":"downstream/partner.py: shield, over spine/redact.py","test":"tests/test_redact.py::test_all_identifier_kinds_are_removed"},{"rule":"untrusted document text cannot issue instructions","implementation":"downstream/live_model.py over spine/untrusted.py","test":"tests/test_live_model.py::test_an_instruction_shaped_span_cannot_ground_a_fact"},{"rule":"public writes and key issuance carry abuse ceilings","implementation":"spine/quota.py, applied in routes and developer access","test":"tests/test_demo_run.py::test_the_public_route_is_capped_per_network"},{"rule":"the page reports the stack the process actually has","implementation":"service/runtime.py: Runtime.stack, served at /stack","test":"tests/test_live_stack.py::test_the_badge_hardcodes_no_service_names_at_all"}],"limitations":["The demo authoring fixture and its owner answers are synthetic.","Gemma runs from a graded recording, never live.","The one-request rehearsal moves a simulated clock so a wake due in three days can fire inside it. The wake, claim, handler and completion are the production ones; only the clock reading changes.","No inundation boundary or evacuation zone is generated.","The draft is not approved, certified, submitted, or engineering advice."]}