contextcompass 2.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- contextcompass-2.15.0.dist-info/METADATA +673 -0
- contextcompass-2.15.0.dist-info/RECORD +452 -0
- contextcompass-2.15.0.dist-info/WHEEL +4 -0
- contextcompass-2.15.0.dist-info/entry_points.txt +2 -0
- contextcompass-2.15.0.dist-info/licenses/LICENSE +21 -0
- contextcompass_cli/__init__.py +74 -0
- contextcompass_cli/__main__.py +195 -0
- contextcompass_cli/_package/AGENTS.MD +310 -0
- contextcompass_cli/_package/CONTEXT_COMPACTION.md +110 -0
- contextcompass_cli/_package/MANIFEST.md +485 -0
- contextcompass_cli/_package/PROFILE_CLASS_CREATION_GUIDE.md +426 -0
- contextcompass_cli/_package/README.md +266 -0
- contextcompass_cli/_package/SKILLS.MD +144 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/AGENTS.MD +54 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/README.md +43 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/behavioral_guidelines/continuity_fact_checker_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/examples/continuity_fact_checker_task_flow.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/policies/continuity_fact_checker_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/policies/continuity_fact_checker_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/skills/continuity_fact_checker.md +37 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/skills/continuity_fact_checker_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/skills/continuity_fact_checker_deliverables.md +26 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/skills/continuity_fact_checker_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/continuity_fact_checker/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/AGENTS.MD +85 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/README.md +62 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/SKILLS.MD +74 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/behavioral_guidelines/design_engineer_workflow.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/behavioral_guidelines/design_validation_and_handoff.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/examples/adr_example.md +40 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/examples/design_task_flow.md +33 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/policies/decision_record_policy.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/policies/design_quality_policy.md +30 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/policies/design_review_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/policies/system_document_quality_rubric.md +236 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/adr_and_decision_hygiene.md +38 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/api_and_interface_design.md +36 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/architecture_contexts.md +40 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/architecture_patch_contracts.md +43 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/architecture_tradeoffs.md +33 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/code_description_patch_contracts.md +46 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/component_patch_contracts.md +41 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/data_modeling.md +34 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/decomposition_and_boundaries.md +42 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/design_engineer_execution.md +65 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/design_review_protocol.md +34 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/nonfunctional_requirements.md +34 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/patch_framework_design.md +79 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/requirements_to_architecture.md +39 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/src_architecture_instructions.md +347 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/src_components_instructions.md +405 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/system_design_method.md +45 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/tests_architecture_instructions.md +375 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/skills/tests_components_instructions.md +406 -0
- contextcompass_cli/_package/agent_onboarding/default/design_engineer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/AGENTS.MD +53 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/README.md +42 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/behavioral_guidelines/developmental_editor_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/examples/developmental_editor_task_flow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/policies/developmental_editor_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/policies/developmental_editor_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/skills/developmental_editor.md +36 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/skills/developmental_editor_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/skills/developmental_editor_deliverables.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/skills/developmental_editor_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/developmental_editor/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/AGENTS.MD +54 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/README.md +43 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/behavioral_guidelines/draft_writer_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/examples/draft_writer_task_flow.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/policies/draft_writer_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/policies/draft_writer_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/skills/draft_writer.md +37 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/skills/draft_writer_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/skills/draft_writer_deliverables.md +26 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/skills/draft_writer_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/draft_writer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/AGENTS.MD +493 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/README.md +53 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/SKILLS.MD +263 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/behavioral_guidelines/engineer_workflow.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/behavioral_guidelines/task_execution_and_validation.md +34 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/examples/artifact_workflow.md +104 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/examples/eng_task_flow.md +30 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/policies/ctx_autonomy_policy.md +34 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/policies/ctx_autonomy_rubric.md +161 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/policies/engineer_quality_policy.md +33 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/context_protocol.md +70 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/documentation_standards.md +120 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/engineer_execution.md +62 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/package_maintenance.md +195 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/patch_artifact_consumption.md +68 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/patch_framework_gating.md +72 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/src_graph_generation.md +341 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/src_graph_usage.md +161 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/staleness_protocol.md +49 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/system_document_build.md +360 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/system_orientation.md +83 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/skills/technical_expertise.md +48 -0
- contextcompass_cli/_package/agent_onboarding/default/engineer/workflows/README.md +9 -0
- contextcompass_cli/_package/agent_onboarding/default/general/AGENTS.MD +283 -0
- contextcompass_cli/_package/agent_onboarding/default/general/README.md +38 -0
- contextcompass_cli/_package/agent_onboarding/default/general/SKILLS.MD +92 -0
- contextcompass_cli/_package/agent_onboarding/default/general/WORKFLOWS.MD +23 -0
- contextcompass_cli/_package/agent_onboarding/default/general/behavioral_guidelines/README.md +12 -0
- contextcompass_cli/_package/agent_onboarding/default/general/behavioral_guidelines/agent_lifecycle_and_heartbeat.md +37 -0
- contextcompass_cli/_package/agent_onboarding/default/general/behavioral_guidelines/onboarding_summary.md +41 -0
- contextcompass_cli/_package/agent_onboarding/default/general/behavioral_guidelines/work_intake_and_execution.md +44 -0
- contextcompass_cli/_package/agent_onboarding/default/general/policies/policy_skills.md +174 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/active_documentation.md +86 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/active_pointerboard.md +81 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/agent_identity.md +38 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/agent_lifecycle.md +21 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/agent_stance.md +38 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/career_selection.md +83 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/compaction_requirements.md +147 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/configuration_standards.md +72 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/context_compaction.md +104 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/context_gold.md +31 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/context_management.md +79 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/context_window_budget.md +64 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/execution_contract.md +234 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/general.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/llm_full_usage.md +111 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/mailbox_protocol.md +85 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/memory_management.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/mrp_policy.md +40 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/package_upgrade.md +135 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/reactive_documentation.md +105 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/repo_topology.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/role_local_workflows.md +41 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/security_and_secrets.md +46 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/self_certification.md +49 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/ticket_closure_attention_sync.md +57 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/ticket_microcycle.md +44 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/ticketing.md +175 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/ticketing_skill_contract.md +52 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/unknowns_gate_reference.md +66 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/user_approved_certification.md +32 -0
- contextcompass_cli/_package/agent_onboarding/default/general/skills/workflow.md +289 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/README.md +9 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/cleanup_context_compass.md +205 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/role_creation.md +39 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/start_context_compass_work.md +102 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/sync_attention_board.md +91 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/turn_in_selected_tickets.md +95 -0
- contextcompass_cli/_package/agent_onboarding/default/general/workflows/workflow_creation.md +38 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/AGENTS.MD +53 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/README.md +42 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/behavioral_guidelines/line_copy_editor_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/examples/line_copy_editor_task_flow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/policies/line_copy_editor_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/policies/line_copy_editor_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/skills/line_copy_editor.md +36 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/skills/line_copy_editor_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/skills/line_copy_editor_deliverables.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/skills/line_copy_editor_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/line_copy_editor/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/new/AGENTS.MD +79 -0
- contextcompass_cli/_package/agent_onboarding/default/new/README.md +54 -0
- contextcompass_cli/_package/agent_onboarding/default/new/SKILLS.MD +35 -0
- contextcompass_cli/_package/agent_onboarding/default/new/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/new/behavioral_guidelines/user_onboarding_flow.md +52 -0
- contextcompass_cli/_package/agent_onboarding/default/new/policies/new_onboarding_policy.md +59 -0
- contextcompass_cli/_package/agent_onboarding/default/new/skills/configuration_map_guide.md +83 -0
- contextcompass_cli/_package/agent_onboarding/default/new/skills/first_time_profile_setup.md +60 -0
- contextcompass_cli/_package/agent_onboarding/default/new/skills/new.md +54 -0
- contextcompass_cli/_package/agent_onboarding/default/new/skills/onboarding_completion_and_next_step.md +54 -0
- contextcompass_cli/_package/agent_onboarding/default/new/skills/profile_model_explained.md +120 -0
- contextcompass_cli/_package/agent_onboarding/default/new/skills/system_overview_for_user.md +51 -0
- contextcompass_cli/_package/agent_onboarding/default/new/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/AGENTS.MD +63 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/README.md +41 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/SKILLS.MD +62 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/behavioral_guidelines/incident_workflow.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/behavioral_guidelines/platform_engineer_workflow.md +18 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/examples/platform_task_flow.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/policies/operational_safety_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/policies/platform_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/policies/production_change_management_policy.md +18 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/ci_cd_and_release.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/deployment_and_environments.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/incident_response_and_runbooks.md +35 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/infrastructure_as_code.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/observability_and_monitoring.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/performance_capacity_cost.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/platform_engineer_execution.md +41 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/skills/platform_security_basics.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/platform_engineer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/AGENTS.MD +53 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/README.md +42 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/behavioral_guidelines/proofreader_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/examples/proofreader_task_flow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/policies/proofreader_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/policies/proofreader_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/skills/proofreader.md +36 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/skills/proofreader_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/skills/proofreader_deliverables.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/skills/proofreader_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/proofreader/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/AGENTS.MD +58 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/README.md +41 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/SKILLS.MD +61 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/behavioral_guidelines/qa_workflow.md +18 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/behavioral_guidelines/release_signoff_workflow.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/examples/qa_task_flow.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/policies/defect_severity_policy.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/policies/quality_gate_policy.md +18 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/policies/test_evidence_policy.md +18 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/bug_triage_and_repro.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/qa_engineer_execution.md +29 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/quality_metrics.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/regression_and_release_quality.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/test_automation_practices.md +30 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/test_case_design.md +27 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/test_data_and_environments.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/skills/test_strategy_and_planning.md +31 -0
- contextcompass_cli/_package/agent_onboarding/default/qa_engineer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/AGENTS.MD +55 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/README.md +44 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/behavioral_guidelines/researcher_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/examples/researcher_task_flow.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/policies/researcher_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/policies/researcher_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/skills/researcher.md +38 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/skills/researcher_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/skills/researcher_deliverables.md +27 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/skills/researcher_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/researcher/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/AGENTS.MD +55 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/README.md +43 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/SKILLS.MD +62 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/behavioral_guidelines/security_signoff_and_escalation.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/behavioral_guidelines/security_workflow.md +18 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/examples/security_review_flow.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/policies/risk_acceptance_policy.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/policies/secrets_and_keys_policy.md +19 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/policies/security_review_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/authn_authz_basics.md +24 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/dependency_and_supply_chain.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/incident_response_security.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/logging_audit_privacy.md +16 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/secure_architecture_review.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/secure_coding_review.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/security_engineer_execution.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/threat_modeling.md +25 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/skills/vulnerability_management.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/security_engineer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/AGENTS.MD +56 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/README.md +45 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/behavioral_guidelines/story_designer_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/examples/story_designer_task_flow.md +26 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/policies/story_designer_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/policies/story_designer_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/skills/story_designer.md +39 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/skills/story_designer_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/skills/story_designer_deliverables.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/skills/story_designer_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/story_designer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/AGENTS.MD +56 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/README.md +45 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/behavioral_guidelines/story_novel_artist_workflow.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/examples/story_novel_artist_task_flow.md +26 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/policies/story_novel_artist_handoff_policy.md +20 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/policies/story_novel_artist_quality_policy.md +22 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/skills/story_novel_artist.md +39 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/skills/story_novel_artist_advanced_context.md +17 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/skills/story_novel_artist_deliverables.md +28 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/skills/story_novel_artist_execution.md +23 -0
- contextcompass_cli/_package/agent_onboarding/default/story_novel_artist/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/AGENTS.MD +66 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/SKILLS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/WORKFLOWS.MD +15 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/behavioral_guidelines/data_engineer_behavior_overrides.md +6 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/policies/data_engineer_policy_overrides.md +6 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/profile_overrides.md +9 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/skills/data_engineer_skill_overrides.md +6 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/data_engineer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/AGENTS.MD +145 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/SKILLS.MD +37 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/WORKFLOWS.MD +17 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/behavioral_guidelines/synaptic_finishing_developer_behavior_overrides.md +12 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/examples/python/comment_finishing_examples.py +65 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/examples/python/docstring_finishing_examples.py +126 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/examples/python/pytest_component_finishing_examples.py +51 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/examples/python/pytest_integration_finishing_examples.py +59 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/examples/python/pytest_unit_finishing_examples.py +66 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/policies/synaptic_finishing_developer_policy_overrides.md +14 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/profile_overrides.md +17 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/documentation/comment_craft.md +51 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/documentation/docstring_craft.md +86 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/documentation/docstring_test_alignment.md +51 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/documentation/system_aware_docstrings.md +64 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/synaptic_finishing_developer_skill_overrides.md +11 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/component_tests.md +45 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/evidence_reporting.md +25 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/mocking.md +35 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/pytest_integration.md +32 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/pytest_unit.md +49 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/regression_tests.md +24 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/skills/testing/testing_overview.md +71 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/workflows/optimize_pytests_for_repo.md +272 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_finishing_developer/workflows/polish_repo_documentation.md +247 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/AGENTS.MD +386 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/README.md +31 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/SKILLS.MD +44 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/WORKFLOWS.MD +16 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/behavioral_guidelines/synaptic_behavior_overrides.md +17 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/anti_patterns.py +19 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/cleanup_patterns.py +22 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/docstrings.py +19 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/logging_patterns.py +11 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/protocols_and_abc.py +15 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/pytest_component_examples.py +15 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/pytest_integration_examples.py +17 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/examples/python/pytest_unit_examples.py +13 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/policies/synaptic_policy_overrides.md +22 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/profile_overrides.md +27 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/attribute_aliasing_skill_benchmark.py +35 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/banned_patterns.md +110 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/cleanup_and_disposal.md +79 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/comments.md +39 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/docstrings.md +90 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/error_model.md +28 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/hot_path_attribute_aliasing.md +52 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/init_and_ownership.md +35 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/interfaces.md +47 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/logging.md +37 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/module_scope.md +38 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/refactor_limits.md +44 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/python/typing.md +52 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/synaptic_skill_overrides.md +24 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/testing/evidence_reporting.md +35 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/testing/mocking.md +31 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/testing/pytest_integration.md +36 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/testing/pytest_unit.md +42 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/testing/regression_tests.md +26 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/skills/testing/testing_overview.md +196 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/workflows/README.md +8 -0
- contextcompass_cli/_package/agent_onboarding/user_defined/synaptic_python_developer/workflows/synaptic_python_developer_onboarding.md +226 -0
- contextcompass_cli/_package/artifact_board.md +64 -0
- contextcompass_cli/_package/artifacts/IMPORTANT_CONSIDERATION.md +43 -0
- contextcompass_cli/_package/artifacts/README.md +41 -0
- contextcompass_cli/_package/attention_board.md +79 -0
- contextcompass_cli/_package/config/context_compass_config.yaml +101 -0
- contextcompass_cli/_package/context_management/README.md +21 -0
- contextcompass_cli/_package/context_management/artifacts/.gitkeep +1 -0
- contextcompass_cli/_package/context_management/context_artifact_template.md +42 -0
- contextcompass_cli/_package/context_management/context_board.md +27 -0
- contextcompass_cli/_package/examples/adr_example.md +29 -0
- contextcompass_cli/_package/examples/artifact_workflow.md +20 -0
- contextcompass_cli/_package/examples/continuity_fact_checker_task_flow.md +23 -0
- contextcompass_cli/_package/examples/design_task_flow.md +35 -0
- contextcompass_cli/_package/examples/developmental_editor_task_flow.md +22 -0
- contextcompass_cli/_package/examples/draft_writer_task_flow.md +23 -0
- contextcompass_cli/_package/examples/eng_task_flow.md +31 -0
- contextcompass_cli/_package/examples/example_architecture/.gitkeep +0 -0
- contextcompass_cli/_package/examples/example_architecture/src_architecture.md +136 -0
- contextcompass_cli/_package/examples/example_architecture/src_architecture_index.md +46 -0
- contextcompass_cli/_package/examples/example_architecture/tests_architecture.md +148 -0
- contextcompass_cli/_package/examples/example_architecture/tests_architecture_index.md +46 -0
- contextcompass_cli/_package/examples/example_completed/.gitkeep +0 -0
- contextcompass_cli/_package/examples/example_completed/2026-02-19_context_compass_release_overview_artifact.md +33 -0
- contextcompass_cli/_package/examples/example_components/.gitkeep +0 -0
- contextcompass_cli/_package/examples/example_components/src_components.md +169 -0
- contextcompass_cli/_package/examples/example_components/src_components_index.md +44 -0
- contextcompass_cli/_package/examples/example_components/tests_components.md +96 -0
- contextcompass_cli/_package/examples/example_components/tests_components_index.md +42 -0
- contextcompass_cli/_package/examples/example_epics/.gitkeep +0 -0
- contextcompass_cli/_package/examples/example_epics/2026-02-19_context_compass_release_readiness_example_pack_epic.md +130 -0
- contextcompass_cli/_package/examples/example_graph_details/README.md +131 -0
- contextcompass_cli/_package/examples/example_graph_details/src/example/__init__.py +4 -0
- contextcompass_cli/_package/examples/example_graph_details/src/example/core/interfaces.py +10 -0
- contextcompass_cli/_package/examples/example_graph_details/src/example/core/resource.py +15 -0
- contextcompass_cli/_package/examples/example_graph_details/src/example/pipeline/pipeline.py +20 -0
- contextcompass_cli/_package/examples/example_graph_details/src/example/pipeline/stage.py +11 -0
- contextcompass_cli/_package/examples/example_graph_details/src/example/storage/store.py +20 -0
- contextcompass_cli/_package/examples/example_graph_details/src_graph.md +192 -0
- contextcompass_cli/_package/examples/example_graph_details/src_graph_index.md +32 -0
- contextcompass_cli/_package/examples/example_stories/.gitkeep +0 -0
- contextcompass_cli/_package/examples/example_stories/2026-02-19_context_compass_release_readiness_examples_story.md +120 -0
- contextcompass_cli/_package/examples/example_tasks/.gitkeep +0 -0
- contextcompass_cli/_package/examples/example_tasks/2026-02-19_context_compass_release_readiness_pack_task.md +147 -0
- contextcompass_cli/_package/examples/line_copy_editor_task_flow.md +23 -0
- contextcompass_cli/_package/examples/platform_task_flow.md +26 -0
- contextcompass_cli/_package/examples/proofreader_task_flow.md +23 -0
- contextcompass_cli/_package/examples/qa_task_flow.md +26 -0
- contextcompass_cli/_package/examples/repo_overview.md +63 -0
- contextcompass_cli/_package/examples/researcher_task_flow.md +23 -0
- contextcompass_cli/_package/examples/security_review_flow.md +24 -0
- contextcompass_cli/_package/examples/story_designer_task_flow.md +23 -0
- contextcompass_cli/_package/examples/story_novel_artist_task_flow.md +22 -0
- contextcompass_cli/_package/mailbox_board.md +79 -0
- contextcompass_cli/_package/special_instructions/README.md +16 -0
- contextcompass_cli/_package/system_docs/.gitkeep +0 -0
- contextcompass_cli/_package/system_docs/patches/active/README.md +25 -0
- contextcompass_cli/_package/system_docs/patches/active/_template_patch_id/architecture_patch.md +53 -0
- contextcompass_cli/_package/system_docs/patches/active/_template_patch_id/code_description_patch_TEMPLATE_COMPONENT.md +39 -0
- contextcompass_cli/_package/system_docs/patches/active/_template_patch_id/component_patch_TEMPLATE_COMPONENT.md +48 -0
- contextcompass_cli/_package/system_docs/system_docs_read_first.md +107 -0
- contextcompass_cli/_package/templates/epic_template.md +149 -0
- contextcompass_cli/_package/templates/story_template.md +131 -0
- contextcompass_cli/_package/templates/task_template.md +124 -0
- contextcompass_cli/_package/templates/workflow_advanced_template.md +111 -0
- contextcompass_cli/_package/templates/workflow_simple_template.md +65 -0
- contextcompass_cli/_package/tickets/README.md +24 -0
- contextcompass_cli/_package/tickets/epics/README.md +68 -0
- contextcompass_cli/_package/tickets/epics/archive/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/epics/backlog/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/epics/completed/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/stories/README.md +68 -0
- contextcompass_cli/_package/tickets/stories/archive/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/stories/backlog/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/stories/completed/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/tasks/README.md +67 -0
- contextcompass_cli/_package/tickets/tasks/archive/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/tasks/backlog/.gitkeep +0 -0
- contextcompass_cli/_package/tickets/tasks/completed/.gitkeep +0 -0
- contextcompass_cli/_package/tools/build_llm_full.py +307 -0
- contextcompass_cli/_package/tools/cleanup_context_compass.py +488 -0
- contextcompass_cli/_package/tools/migrate_boards.py +218 -0
- contextcompass_cli/_package/tools/package_manifest.py +351 -0
- contextcompass_cli/_package/tools/system_documents/index_document.py +476 -0
- contextcompass_cli/_package/tools/system_documents/python/assemble_graph.py +387 -0
- contextcompass_cli/_package/tools/system_documents/python/extract_graph.py +626 -0
- contextcompass_cli/_package/tools/system_documents/python/graph_semantics_tickets.py +405 -0
- contextcompass_cli/_package/tools/system_documents/python/graph_walker.py +375 -0
- contextcompass_cli/_package/tools/system_documents/python/migrate_authored_graph.py +179 -0
- contextcompass_cli/_package/tools/update_context_compass.py +511 -0
- contextcompass_cli/_package/user_defined/README.md +49 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Assemble per-file graph descriptors into one Markdown document plus an index.
|
|
3
|
+
|
|
4
|
+
Stage 2 of the system-documents pipeline. Stage 1 (`extract_graph.py`) crawls a
|
|
5
|
+
source tree and writes one descriptor per source file. This script reads that
|
|
6
|
+
tree and emits:
|
|
7
|
+
|
|
8
|
+
src_graph.md one document, one section per source file
|
|
9
|
+
src_graph_index.md the line range of every section, plus staleness proof
|
|
10
|
+
|
|
11
|
+
Why Markdown rather than the previous `readable_src_graph.json` +
|
|
12
|
+
`src_graph.json` pair: the JSON was 768 KB on a 574-file codebase and had to be
|
|
13
|
+
read whole or not at all, because a JSON object has no addressable interior. A
|
|
14
|
+
Markdown document with recorded line ranges is sliceable - an agent reads the
|
|
15
|
+
index, finds the range for the file it cares about, and reads only those lines.
|
|
16
|
+
Same content, and the index costs about 5% of the document.
|
|
17
|
+
|
|
18
|
+
THE INDEX IS A BYPRODUCT, NOT A SECOND PASS
|
|
19
|
+
This script knows every section's exact start and end line because it emitted
|
|
20
|
+
them. It does not re-parse the document to find headings. That removes an entire
|
|
21
|
+
class of drift: an index generated by re-walking a document can disagree with
|
|
22
|
+
the document, and the only defence is a hash. Here they are produced together
|
|
23
|
+
and cannot disagree. The hash is still recorded, but it guards against something
|
|
24
|
+
else - a human editing the assembled file by hand, which they should not do.
|
|
25
|
+
|
|
26
|
+
Line numbers are 1-based and inclusive on both ends, matching `sed -n 'S,Ep'`,
|
|
27
|
+
the Read tool's offset/limit, and the `path:start_line-end_line` evidence
|
|
28
|
+
convention used throughout this repository.
|
|
29
|
+
|
|
30
|
+
Usage:
|
|
31
|
+
python assemble_graph.py --descriptors system_docs/graph --out system_docs
|
|
32
|
+
python assemble_graph.py --descriptors ... --out ... --check
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
from __future__ import annotations
|
|
36
|
+
|
|
37
|
+
import argparse
|
|
38
|
+
import datetime
|
|
39
|
+
import hashlib
|
|
40
|
+
import json
|
|
41
|
+
import pathlib
|
|
42
|
+
import sys
|
|
43
|
+
from typing import Any
|
|
44
|
+
|
|
45
|
+
SCHEMA_VERSION = 1
|
|
46
|
+
DOC_NAME = "src_graph.md"
|
|
47
|
+
INDEX_NAME = "src_graph_index.md"
|
|
48
|
+
|
|
49
|
+
# Section delimiters. Chosen to be greppable and unambiguous: a reader scanning
|
|
50
|
+
# the assembled document can find any file's boundaries without the index, and a
|
|
51
|
+
# validator can confirm the index agrees with the text.
|
|
52
|
+
def fmt_cell(value: object) -> str:
|
|
53
|
+
"""Render an authored edge attribute for a table cell.
|
|
54
|
+
|
|
55
|
+
A list becomes comma-joined; absent or empty becomes `-`. Derived edges
|
|
56
|
+
always render `-`, because these attributes are design facts and the
|
|
57
|
+
extractor is explicit that it cannot produce them.
|
|
58
|
+
"""
|
|
59
|
+
if value is None or value == "" or value == []:
|
|
60
|
+
return "-"
|
|
61
|
+
if isinstance(value, (list, tuple)):
|
|
62
|
+
return ",".join(str(v) for v in value) or "-"
|
|
63
|
+
return str(value)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
HEADER = "<!-- BEGIN FILE: {source} -->"
|
|
67
|
+
FOOTER = "<!-- END FILE: {source} -->"
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
# Pipeline manifests that live beside descriptors but are not descriptors.
|
|
71
|
+
# Named explicitly: an earlier version skipped anything starting with `_`, which
|
|
72
|
+
# silently swallowed 14 real descriptors - `__init__.py`, every dunder metadata
|
|
73
|
+
# module (`__version__.py`, `__architecture__.py`), and the `_builder.py` files.
|
|
74
|
+
# A prefix is a naming convention, not a type. Identify by shape instead.
|
|
75
|
+
MANIFEST_NAMES = frozenset({"_package_candidates.json"})
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def write_if_changed(path: pathlib.Path, text: str, volatile: str = "generated_at") -> bool:
|
|
79
|
+
"""Write only when content differs ignoring the timestamp line. Returns wrote?
|
|
80
|
+
|
|
81
|
+
Regeneration must be idempotent. If the source did not change, the index
|
|
82
|
+
should not change either - otherwise every CI run or verification pass
|
|
83
|
+
rewrites the file with a fresh `generated_at` and produces a diff that says
|
|
84
|
+
nothing happened. A tool that churns its own output trains people to ignore
|
|
85
|
+
its diffs, which is precisely when a real change slips past.
|
|
86
|
+
"""
|
|
87
|
+
if path.exists():
|
|
88
|
+
old = path.read_text(encoding="utf-8")
|
|
89
|
+
strip = lambda s: "\n".join(l for l in s.split("\n") if volatile not in l)
|
|
90
|
+
if strip(old) == strip(text):
|
|
91
|
+
return False
|
|
92
|
+
path.write_text(text, encoding="utf-8", newline="\n")
|
|
93
|
+
return True
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def load_descriptors(root: pathlib.Path) -> list[dict[str, Any]]:
|
|
97
|
+
"""Read every descriptor under root, sorted by source path."""
|
|
98
|
+
out: list[dict[str, Any]] = []
|
|
99
|
+
for path in sorted(root.rglob("*.json")):
|
|
100
|
+
if path.name in MANIFEST_NAMES:
|
|
101
|
+
continue
|
|
102
|
+
try:
|
|
103
|
+
data = json.loads(path.read_text(encoding="utf-8"))
|
|
104
|
+
except json.JSONDecodeError as exc:
|
|
105
|
+
print(f" SKIP (bad json) {path}: {exc}", file=sys.stderr)
|
|
106
|
+
continue
|
|
107
|
+
if "source" not in data or "nodes" not in data:
|
|
108
|
+
print(f" SKIP (not a descriptor) {path}", file=sys.stderr)
|
|
109
|
+
continue
|
|
110
|
+
out.append(data)
|
|
111
|
+
return sorted(out, key=lambda d: d["source"])
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def render_node(node: dict[str, Any]) -> list[str]:
|
|
115
|
+
"""One node as Markdown. Authored fields render only when present."""
|
|
116
|
+
lines = [f"#### `{node['label']}` ({node['kind']})", ""]
|
|
117
|
+
lines.append(f"- id: `{node['id']}`")
|
|
118
|
+
if node.get("lineno"):
|
|
119
|
+
lines.append(f"- defined at: `{node['file']}:{node['lineno']}`")
|
|
120
|
+
if node.get("bases"):
|
|
121
|
+
lines.append(f"- extends: {', '.join(f'`{b}`' for b in node['bases'])}")
|
|
122
|
+
if node.get("markers"):
|
|
123
|
+
lines.append(f"- markers: {', '.join(f'`{m}`' for m in node['markers'])}")
|
|
124
|
+
if node.get("role"):
|
|
125
|
+
lines.append(f"- role: {node['role']}")
|
|
126
|
+
for field in ("responsibilities", "owns_state", "phases"):
|
|
127
|
+
if node.get(field):
|
|
128
|
+
lines.append(f"- {field}: {', '.join(f'`{v}`' for v in node[field])}")
|
|
129
|
+
if node.get("public_methods"):
|
|
130
|
+
methods = node["public_methods"]
|
|
131
|
+
shown = ", ".join(f"`{m}`" for m in methods[:12])
|
|
132
|
+
more = f" (+{len(methods) - 12} more)" if len(methods) > 12 else ""
|
|
133
|
+
lines.append(f"- public methods: {shown}{more}")
|
|
134
|
+
if not any(node.get(f) for f in ("role", "responsibilities", "owns_state")):
|
|
135
|
+
lines.append("- **UNSEMANTIC** - mechanical scaffold only, not yet authored")
|
|
136
|
+
lines.append("")
|
|
137
|
+
return lines
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def render_descriptor(desc: dict[str, Any]) -> list[str]:
|
|
141
|
+
"""One source file's whole section, between its header and footer."""
|
|
142
|
+
src = desc["source"]
|
|
143
|
+
lines = [HEADER.format(source=src), "", f"## {src}", ""]
|
|
144
|
+
lines.append(f"- source_sha256: `{desc.get('source_sha256', 'UNKNOWN')}`")
|
|
145
|
+
nodes = desc.get("nodes", {})
|
|
146
|
+
lines.append(f"- nodes: {len(nodes)}")
|
|
147
|
+
lines.append("")
|
|
148
|
+
|
|
149
|
+
if nodes:
|
|
150
|
+
lines.append("### Nodes")
|
|
151
|
+
lines.append("")
|
|
152
|
+
for node in nodes.values():
|
|
153
|
+
lines.extend(render_node(node))
|
|
154
|
+
|
|
155
|
+
edges = desc.get("edges_out", [])
|
|
156
|
+
authored = desc.get("edges_authored", [])
|
|
157
|
+
if edges or authored:
|
|
158
|
+
lines.append("### Edges out")
|
|
159
|
+
lines.append("")
|
|
160
|
+
lines.append("| from | relation | to | cardinality | phase | origin |")
|
|
161
|
+
lines.append("| --- | --- | --- | --- | --- | --- |")
|
|
162
|
+
for e in edges:
|
|
163
|
+
target = e.get("to") or f"{e.get('to_label', '?')} (unresolved)"
|
|
164
|
+
lines.append(f"| `{e['from']}` | {e['relation']} | `{target}` | - | - | derived |")
|
|
165
|
+
for e in authored:
|
|
166
|
+
lines.append(f"| `{e.get('from', '?')}` | {e.get('relation', '?')} | "
|
|
167
|
+
f"`{e.get('to', '?')}` | {fmt_cell(e.get('cardinality'))} | "
|
|
168
|
+
f"{fmt_cell(e.get('phase'))} | authored |")
|
|
169
|
+
lines.append("")
|
|
170
|
+
|
|
171
|
+
# `why` is the justification for a claim the extractor states it cannot
|
|
172
|
+
# derive. It goes beneath the table, not in it: the table stays scannable
|
|
173
|
+
# and the prose stays readable. Only authored edges carry one.
|
|
174
|
+
# Do not name these `src` - that is the source path this section is for,
|
|
175
|
+
# and the footer still needs it. Shadowing it emits a footer carrying a
|
|
176
|
+
# node id, which the range check catches but which should never be
|
|
177
|
+
# written in the first place.
|
|
178
|
+
whys = [(e.get("from", "?"), e.get("to", "?"), e["why"])
|
|
179
|
+
for e in authored if e.get("why")]
|
|
180
|
+
if whys:
|
|
181
|
+
for edge_from, edge_to, why in whys:
|
|
182
|
+
lines.append(f"- `{edge_from}` -> `{edge_to}`: {why}")
|
|
183
|
+
lines.append("")
|
|
184
|
+
|
|
185
|
+
candidates = desc.get("edge_candidates", [])
|
|
186
|
+
if candidates:
|
|
187
|
+
lines.append(f"### Edge candidates ({len(candidates)}, unconfirmed)")
|
|
188
|
+
lines.append("")
|
|
189
|
+
lines.append("Instantiation guesses from the AST. Over-generated roughly 8x "
|
|
190
|
+
"against the reference graph; confirm or drop before relying on them.")
|
|
191
|
+
lines.append("")
|
|
192
|
+
for c in candidates[:20]:
|
|
193
|
+
lines.append(f"- `{c['from']}` creates `{c['to_label']}`")
|
|
194
|
+
if len(candidates) > 20:
|
|
195
|
+
lines.append(f"- ... {len(candidates) - 20} more")
|
|
196
|
+
lines.append("")
|
|
197
|
+
|
|
198
|
+
if desc.get("published_aliases"):
|
|
199
|
+
lines.append("### Published aliases")
|
|
200
|
+
lines.append("")
|
|
201
|
+
for a in desc["published_aliases"]:
|
|
202
|
+
lines.append(f"- `{a['alias']}` = `{a['target']}` (line {a['lineno']})")
|
|
203
|
+
lines.append("")
|
|
204
|
+
|
|
205
|
+
lines.append(FOOTER.format(source=src))
|
|
206
|
+
return lines
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def assemble(descriptors: list[dict[str, Any]]) -> tuple[str, list[dict[str, Any]]]:
|
|
210
|
+
"""Build the document and the section table in one pass.
|
|
211
|
+
|
|
212
|
+
Returns (document_text, sections). Each section records the 1-based inclusive
|
|
213
|
+
line range of its file's block, including the header and footer comments.
|
|
214
|
+
"""
|
|
215
|
+
# The preamble deliberately does NOT spell the delimiter literally. An
|
|
216
|
+
# earlier version documented the format inline, and the description of the
|
|
217
|
+
# marker was then indistinguishable from an instance of it - a validator
|
|
218
|
+
# grepping the document counted 576 sections where 575 exist. A file's own
|
|
219
|
+
# documentation must not be parseable as its own data.
|
|
220
|
+
lines: list[str] = [
|
|
221
|
+
"# src_graph",
|
|
222
|
+
"",
|
|
223
|
+
"Assembled system graph. One section per source file. Each section opens",
|
|
224
|
+
"with an HTML comment reading BEGIN FILE followed by the source path, and",
|
|
225
|
+
"closes with the matching END FILE comment. Exact line ranges are in",
|
|
226
|
+
f"`{INDEX_NAME}`; prefer the index over scanning for delimiters.",
|
|
227
|
+
"",
|
|
228
|
+
# Deliberately no tool path here. This document ships with the codebase
|
|
229
|
+
# it describes - committed, reviewed, and in a packaged project carried
|
|
230
|
+
# inside the wheel - and its readers have the source but not the tooling
|
|
231
|
+
# that assembled it. The old line named
|
|
232
|
+
# `tools/system_documents/python/assemble_graph.py`, which is dead text
|
|
233
|
+
# for every one of them, and which a check looking for `context_compass/`
|
|
234
|
+
# never caught because the prefix was never there.
|
|
235
|
+
"Generated, not authored. Do not hand-edit: edit the per-file",
|
|
236
|
+
"descriptors and reassemble.",
|
|
237
|
+
"",
|
|
238
|
+
]
|
|
239
|
+
sections: list[dict[str, Any]] = []
|
|
240
|
+
for desc in descriptors:
|
|
241
|
+
start = len(lines) + 1 # 1-based, header line
|
|
242
|
+
block = render_descriptor(desc)
|
|
243
|
+
lines.extend(block)
|
|
244
|
+
end = len(lines) # 1-based, footer line
|
|
245
|
+
sections.append({
|
|
246
|
+
"source": desc["source"],
|
|
247
|
+
"start": start,
|
|
248
|
+
"end": end,
|
|
249
|
+
"lines": end - start + 1,
|
|
250
|
+
"nodes": len(desc.get("nodes", {})),
|
|
251
|
+
# Must match what "### Edges out" actually renders, which is derived
|
|
252
|
+
# plus authored. Counting only edges_out undercounts exactly the
|
|
253
|
+
# edges that carry design meaning: 68% of relationships are not
|
|
254
|
+
# derivable, so the authored ones are the point of the layer. An
|
|
255
|
+
# index column that disagrees with the section it indexes is the
|
|
256
|
+
# failure this whole system exists to prevent.
|
|
257
|
+
"edges": len(desc.get("edges_out", [])) + len(desc.get("edges_authored", [])),
|
|
258
|
+
"source_sha256": desc.get("source_sha256", ""),
|
|
259
|
+
})
|
|
260
|
+
lines.append("")
|
|
261
|
+
return "\n".join(lines) + "\n", sections
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
def render_index(doc_text: str, sections: list[dict[str, Any]]) -> str:
|
|
265
|
+
"""The index. Ranges come from the assembly, never from re-parsing."""
|
|
266
|
+
line_count = len(doc_text.split("\n"))
|
|
267
|
+
if doc_text.endswith("\n"):
|
|
268
|
+
line_count -= 1
|
|
269
|
+
digest = hashlib.sha256(doc_text.encode("utf-8")).hexdigest()
|
|
270
|
+
stamp = datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
|
271
|
+
|
|
272
|
+
out = [
|
|
273
|
+
"# src_graph_index",
|
|
274
|
+
"",
|
|
275
|
+
f"Line ranges into `{DOC_NAME}`. Emitted by the same pass that wrote the",
|
|
276
|
+
"document, so the ranges cannot have drifted from it.",
|
|
277
|
+
"",
|
|
278
|
+
"Line numbers are 1-based and inclusive on both ends.",
|
|
279
|
+
"",
|
|
280
|
+
"## Staleness proof",
|
|
281
|
+
"",
|
|
282
|
+
"| field | value |",
|
|
283
|
+
"| --- | --- |",
|
|
284
|
+
f"| document | `{DOC_NAME}` |",
|
|
285
|
+
f"| index_version | {SCHEMA_VERSION}.0.0 |",
|
|
286
|
+
f"| generated_at | {stamp} |",
|
|
287
|
+
f"| line_count | {line_count} |",
|
|
288
|
+
"| line_ending | lf |",
|
|
289
|
+
f"| content_sha256 | `{digest}` |",
|
|
290
|
+
f"| sections | {len(sections)} |",
|
|
291
|
+
"",
|
|
292
|
+
"Recompute `line_count` and `content_sha256` before slicing. On any",
|
|
293
|
+
"mismatch the document was hand-edited: STOP, do not slice, reassemble.",
|
|
294
|
+
"",
|
|
295
|
+
"## Sections",
|
|
296
|
+
"",
|
|
297
|
+
"| lines | source | nodes | edges |",
|
|
298
|
+
"| --- | --- | --- | --- |",
|
|
299
|
+
]
|
|
300
|
+
for s in sections:
|
|
301
|
+
out.append(f"| {s['start']}-{s['end']} | `{s['source']}` | {s['nodes']} | {s['edges']} |")
|
|
302
|
+
out.append("")
|
|
303
|
+
return "\n".join(out)
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
def verify(doc_text: str, sections: list[dict[str, Any]]) -> list[str]:
|
|
307
|
+
"""Prove every recorded range actually brackets its own file's block.
|
|
308
|
+
|
|
309
|
+
An off-by-one here silently corrupts every downstream read, and it is the
|
|
310
|
+
one failure this whole design exists to prevent - so it is checked on every
|
|
311
|
+
run rather than trusted.
|
|
312
|
+
"""
|
|
313
|
+
lines = doc_text.split("\n")
|
|
314
|
+
problems: list[str] = []
|
|
315
|
+
for s in sections:
|
|
316
|
+
head = lines[s["start"] - 1]
|
|
317
|
+
foot = lines[s["end"] - 1]
|
|
318
|
+
if head != HEADER.format(source=s["source"]):
|
|
319
|
+
problems.append(f"{s['source']}: start {s['start']} is {head!r}")
|
|
320
|
+
if foot != FOOTER.format(source=s["source"]):
|
|
321
|
+
problems.append(f"{s['source']}: end {s['end']} is {foot!r}")
|
|
322
|
+
for a, b in zip(sections, sections[1:]):
|
|
323
|
+
if a["end"] >= b["start"]:
|
|
324
|
+
problems.append(f"overlap: {a['source']} ends {a['end']}, "
|
|
325
|
+
f"{b['source']} starts {b['start']}")
|
|
326
|
+
return problems
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
def main() -> int:
|
|
330
|
+
ap = argparse.ArgumentParser(description=__doc__,
|
|
331
|
+
formatter_class=argparse.RawDescriptionHelpFormatter)
|
|
332
|
+
ap.add_argument("--descriptors", required=True, type=pathlib.Path,
|
|
333
|
+
help="descriptor tree written by extract_graph.py")
|
|
334
|
+
ap.add_argument("--out", required=True, type=pathlib.Path,
|
|
335
|
+
help="directory to write src_graph.md and src_graph_index.md")
|
|
336
|
+
ap.add_argument("--check", action="store_true", help="verify only, write nothing")
|
|
337
|
+
args = ap.parse_args()
|
|
338
|
+
|
|
339
|
+
root: pathlib.Path = args.descriptors.resolve()
|
|
340
|
+
out_root: pathlib.Path = args.out.resolve()
|
|
341
|
+
if not root.is_dir():
|
|
342
|
+
print(f"descriptor root not found: {root}", file=sys.stderr)
|
|
343
|
+
return 2
|
|
344
|
+
|
|
345
|
+
descriptors = load_descriptors(root)
|
|
346
|
+
if not descriptors:
|
|
347
|
+
print(f"no descriptors under {root}", file=sys.stderr)
|
|
348
|
+
return 2
|
|
349
|
+
|
|
350
|
+
doc_text, sections = assemble(descriptors)
|
|
351
|
+
problems = verify(doc_text, sections)
|
|
352
|
+
index_text = render_index(doc_text, sections)
|
|
353
|
+
|
|
354
|
+
total_nodes = sum(s["nodes"] for s in sections)
|
|
355
|
+
total_edges = sum(s["edges"] for s in sections)
|
|
356
|
+
doc_lines = len(doc_text.split("\n")) - 1
|
|
357
|
+
idx_lines = len(index_text.split("\n"))
|
|
358
|
+
|
|
359
|
+
if problems:
|
|
360
|
+
print(f"VERIFY FAILED: {len(problems)} problem(s)", file=sys.stderr)
|
|
361
|
+
for p in problems[:20]:
|
|
362
|
+
print(f" {p}", file=sys.stderr)
|
|
363
|
+
return 1
|
|
364
|
+
|
|
365
|
+
if not args.check:
|
|
366
|
+
out_root.mkdir(parents=True, exist_ok=True)
|
|
367
|
+
wrote_doc = write_if_changed(out_root / DOC_NAME, doc_text)
|
|
368
|
+
wrote_idx = write_if_changed(out_root / INDEX_NAME, index_text)
|
|
369
|
+
else:
|
|
370
|
+
wrote_doc = wrote_idx = False
|
|
371
|
+
|
|
372
|
+
if args.check:
|
|
373
|
+
mode = "CHECK (no writes)"
|
|
374
|
+
elif wrote_doc or wrote_idx:
|
|
375
|
+
mode = "WROTE"
|
|
376
|
+
else:
|
|
377
|
+
mode = "UNCHANGED"
|
|
378
|
+
print(f"{mode}: {DOC_NAME} + {INDEX_NAME} in {out_root}")
|
|
379
|
+
print(f" sections={len(sections)} nodes={total_nodes} edges={total_edges}")
|
|
380
|
+
print(f" document={doc_lines} lines index={idx_lines} lines "
|
|
381
|
+
f"({100 * idx_lines // max(doc_lines, 1)}% of document)")
|
|
382
|
+
print(f" all {len(sections)} ranges verified against their own headers")
|
|
383
|
+
return 0
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
if __name__ == "__main__":
|
|
387
|
+
raise SystemExit(main())
|