openmodus 0.0.2__tar.gz → 0.0.4__tar.gz
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.
- openmodus-0.0.4/ARCHITECTURE.md +123 -0
- openmodus-0.0.4/CONTRIBUTING.md +68 -0
- openmodus-0.0.4/PKG-INFO +472 -0
- openmodus-0.0.4/README.md +423 -0
- openmodus-0.0.4/READMEs/README.en.md +425 -0
- openmodus-0.0.4/docs/authoring-contract.md +240 -0
- openmodus-0.0.4/docs/knowledge-lifecycle-boundary.md +281 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/pyproject.toml +19 -4
- openmodus-0.0.4/scripts/README.md +30 -0
- openmodus-0.0.4/scripts/package_smoke.py +6 -0
- openmodus-0.0.4/scripts/release_smoke/__init__.py +7 -0
- openmodus-0.0.4/scripts/release_smoke/archive.py +189 -0
- openmodus-0.0.4/scripts/release_smoke/cli.py +58 -0
- openmodus-0.0.4/scripts/release_smoke/contracts.py +273 -0
- openmodus-0.0.4/scripts/release_smoke/diagnostics.py +20 -0
- openmodus-0.0.4/scripts/release_smoke/runtime.py +487 -0
- openmodus-0.0.4/scripts/release_smoke/verification.py +210 -0
- openmodus-0.0.4/scripts/wheel-smoke.sh +49 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/__init__.py +1 -1
- openmodus-0.0.4/src/modus/activation_guidance.py +28 -0
- openmodus-0.0.4/src/modus/artifacts_io.py +537 -0
- openmodus-0.0.4/src/modus/atomic_writes.py +529 -0
- openmodus-0.0.4/src/modus/cli.py +169 -0
- openmodus-0.0.4/src/modus/cli_commands/__init__.py +1 -0
- openmodus-0.0.4/src/modus/cli_commands/analysis.py +259 -0
- openmodus-0.0.4/src/modus/cli_commands/analysis_display.py +73 -0
- openmodus-0.0.4/src/modus/cli_commands/common.py +149 -0
- openmodus-0.0.4/src/modus/cli_commands/context.py +62 -0
- openmodus-0.0.4/src/modus/cli_commands/discovery.py +136 -0
- openmodus-0.0.4/src/modus/cli_commands/initialize.py +274 -0
- openmodus-0.0.4/src/modus/cli_commands/knowledge.py +243 -0
- openmodus-0.0.4/src/modus/cli_commands/presentation.py +210 -0
- openmodus-0.0.4/src/modus/cli_commands/uninstall.py +508 -0
- openmodus-0.0.4/src/modus/cli_commands/update.py +589 -0
- openmodus-0.0.4/src/modus/command_reference.py +417 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/__init__.py +1 -1
- openmodus-0.0.4/src/modus/commands/help.py +50 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/init_project.py +47 -211
- openmodus-0.0.4/src/modus/commands/init_report.py +196 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/install_state.py +45 -34
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/maintenance_scope.py +3 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/reporting.py +9 -8
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/seed_business.py +9 -6
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/self_update.py +35 -30
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/status.py +13 -7
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/uninstall.py +29 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/uninstall_report.py +37 -24
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/uninstall_self.py +14 -21
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/update.py +39 -10
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/update_report.py +50 -29
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/verify_anchors.py +13 -12
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/verify_knowledge.py +3 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/config.py +89 -35
- openmodus-0.0.4/src/modus/display_labels.py +30 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/git_hygiene.py +32 -22
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/bootstrap.py +7 -9
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/contracts.py +3 -3
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/environment.py +3 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/protocol.py +15 -13
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/runtime.py +7 -4
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_identity.py +11 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_reader.py +31 -22
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_seeds.py +10 -41
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_update.py +24 -13
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/authoring_card.py +33 -19
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/discovery.py +67 -47
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/markdown_integrity.py +39 -11
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/metadata.py +4 -3
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/publication.py +67 -31
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/structure.py +4 -5
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_write_session.py +22 -23
- openmodus-0.0.4/src/modus/machine/ARCHITECTURE.md +84 -0
- openmodus-0.0.4/src/modus/machine/README.md +107 -0
- openmodus-0.0.4/src/modus/machine/capability/README.md +15 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/composition_model.py +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/input_normalization.py +28 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/seed_selection.py +8 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/traversal.py +27 -0
- openmodus-0.0.4/src/modus/machine/corpus/README.md +13 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/input_snapshot.py +98 -29
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/lifecycle.py +46 -31
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/scan.py +5 -1
- openmodus-0.0.4/src/modus/machine/corpus/source_coordinates.py +97 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/source_inventory.py +104 -74
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/source_roles.py +9 -0
- openmodus-0.0.4/src/modus/machine/facts/README.md +15 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_context.py +15 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_contracts.py +11 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_resolvers/__init__.py +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_resolvers/base.py +7 -0
- openmodus-0.0.4/src/modus/machine/facts/build_resolvers/cpp_resolver.py +207 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_resolvers/go_resolver.py +11 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_resolvers/java_resolver.py +174 -82
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_resolvers/python_resolver.py +62 -41
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_resolvers/typescript_resolver.py +64 -45
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/build_support.py +45 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/cpp.py +66 -21
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/go.py +11 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/java.py +10 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/merge.py +13 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/models.py +31 -27
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/process.py +18 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/python.py +41 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/typescript.py +7 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/contracts.py +14 -10
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/entry_contracts.py +14 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/entry_observation.py +41 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/extension_registry.py +26 -18
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/extraction_cache.py +32 -3
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/framework_facts.py +102 -41
- openmodus-0.0.4/src/modus/machine/facts/frontend.py +438 -0
- openmodus-0.0.4/src/modus/machine/facts/frontend_context.py +229 -0
- openmodus-0.0.4/src/modus/machine/facts/frontend_server.py +495 -0
- openmodus-0.0.4/src/modus/machine/facts/frontend_state.py +440 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/generic.py +1 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/lifecycle.py +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/native_binding.py +188 -125
- openmodus-0.0.4/src/modus/machine/facts/native_parser.py +110 -0
- openmodus-0.0.4/src/modus/machine/facts/native_syntax.py +171 -0
- openmodus-0.0.2/src/modus/machine/facts/native_parser.py → openmodus-0.0.4/src/modus/machine/facts/native_visitor.py +234 -346
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/provider_assets/ModusJavaAnalyzer.java +134 -31
- openmodus-0.0.4/src/modus/machine/facts/provider_assets/modus_go_analyzer.go +455 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/rule_signals.py +25 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/search_metadata.py +3 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/semantic_contracts.py +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/semantic_ir.py +86 -21
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/semantic_providers.py +17 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/source_contracts.py +18 -4
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/source_evidence.py +22 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/structural.py +5 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/value_summary.py +98 -44
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/languages.py +11 -0
- openmodus-0.0.4/src/modus/machine/packet/README.md +15 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/packet/context_builder.py +53 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/packet/cursor.py +7 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/packet/query.py +42 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/pipeline.py +8 -2
- openmodus-0.0.4/src/modus/machine/projection/README.md +13 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/lifecycle.py +21 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/proposals.py +66 -24
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/publication.py +2 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/scope_candidates.py +41 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/scope_profiles.py +20 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/views.py +21 -0
- openmodus-0.0.4/src/modus/machine/resolution/README.md +13 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/evidence_graph.py +9 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/lifecycle.py +12 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/method_graph.py +25 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/navigation.py +19 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/reference_outcomes.py +22 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/semantic_reconcile.py +36 -0
- openmodus-0.0.4/src/modus/machine/resolution/topology.py +546 -0
- openmodus-0.0.4/src/modus/machine/resolution/topology_records.py +310 -0
- openmodus-0.0.4/src/modus/machine/resolution/topology_resources.py +365 -0
- openmodus-0.0.4/src/modus/machine/resolution/topology_rules.py +475 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/topology_validation.py +58 -20
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/view_quarantine.py +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/bundle.py +113 -48
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/bundle_catalogs.py +62 -388
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/catalog.py +165 -90
- openmodus-0.0.4/src/modus/machine/store/catalog_building.py +100 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/contracts.py +24 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/evidence_records.py +25 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/fingerprint.py +6 -0
- openmodus-0.0.4/src/modus/machine/store/scope_catalog.py +368 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/manifest.py +33 -29
- openmodus-0.0.4/src/modus/orchestrator/README.md +47 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/context_resolver.py +2 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/evidence_search.py +35 -3
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/knowledge_sync.py +18 -12
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/models.py +4 -14
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/module_meta.py +12 -9
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/path_scope.py +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/preflight.py +2 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/search_policy.py +11 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/paths.py +6 -6
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/codebuddy.py +6 -5
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/cursor.py +4 -2
- openmodus-0.0.4/src/modus/platforms/display.py +20 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/hooks.py +9 -13
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/models.py +22 -26
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/registry.py +4 -7
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/rendering.py +6 -7
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/sections.py +5 -7
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/precedence.py +8 -8
- openmodus-0.0.4/src/modus/retrieval/README.md +42 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/delivery.py +19 -9
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/index.py +4 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/pipeline.py +85 -18
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/query.py +12 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/routing.py +37 -12
- openmodus-0.0.4/src/modus/retrieval/runtime.py +38 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/settings.py +2 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/discovery.py +1 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/documents.py +74 -31
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/lexical.py +3 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/ranking.py +14 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/selection.py +10 -3
- openmodus-0.0.4/src/modus/scaffold/README.md +49 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/__init__.py +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/catalog.py +13 -25
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/project.py +7 -10
- openmodus-0.0.4/src/modus/scaffold/templates/README.md +30 -0
- openmodus-0.0.4/src/modus/scaffold/templates/knowledge/business/experience/index.md +7 -0
- openmodus-0.0.4/src/modus/scaffold/templates/knowledge/business/index.md +11 -0
- openmodus-0.0.4/src/modus/scaffold/templates/knowledge/business/meta/index.md +7 -0
- openmodus-0.0.4/src/modus/scaffold/templates/knowledge/business/scenario/index.md +7 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/knowledge/constraint/global-standard.md +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/knowledge/constraint/team-standard.md +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/knowledge/handbook/SKILL.md +5 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/SKILL.md +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/cpp.md +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/dotnet.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/go.md +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/java.md +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/kotlin.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/php.md +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/python.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/rust.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-profiles/web.md +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/global-standard.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/workspace-init.md +10 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-reinit/SKILL.md +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-sync-knowledge/SKILL.md +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-update-knowledge/SKILL.md +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/SKILL.md +6 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/domain-worker-prompt.md +9 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/index.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/dotnet.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/generic.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/go.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/iac.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/index.md +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/java.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/kotlin.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/native.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/php.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/python.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/rust.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/language-adapters/typescript.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/machine-packet.md +8 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/scenario-closure.md +6 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/evidence/scope-modeling.md +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/api.md +6 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/business.md +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/collaboration.md +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/domain.md +12 -6
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/infrastructure.md +6 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/module.md +14 -6
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/object.md +6 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/root.md +10 -4
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/rule.md +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/state-machine.md +6 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/team-standard.md +6 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/deliverables/topics.md +5 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/index.md +5 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/layout.md +5 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/localization.md +4 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/surface-profiles.md +5 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/visual-expression.md +7 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/index.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/parallel-domain-authoring.md +9 -2
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/authoring/publication.md +7 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/constraint-usage.md +5 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/framework-update.md +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/using-modus/references/router-details.md +6 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/writer.py +5 -9
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/schema_resources.py +4 -4
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scope_models.py +66 -40
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scope_resolver.py +4 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/sensitive_literals.py +5 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/skillmd.py +16 -10
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/source_listing.py +7 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/surface.py +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/versioning.py +1 -1
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/workspace.py +86 -189
- openmodus-0.0.4/src/modus/workspace_maps.py +172 -0
- openmodus-0.0.4/tests/README.md +41 -0
- openmodus-0.0.4/tests/_support/__init__.py +1 -0
- openmodus-0.0.4/tests/_support/analysis.py +30 -0
- openmodus-0.0.4/tests/_support/markdown.py +56 -0
- openmodus-0.0.4/tests/_support/paths.py +7 -0
- openmodus-0.0.4/tests/_support/sensitive_samples.py +13 -0
- openmodus-0.0.4/tests/fixtures/simple_service/order/order_repo.py +24 -0
- openmodus-0.0.4/tests/fixtures/simple_service/order/order_service.py +27 -0
- openmodus-0.0.4/tests/fixtures/simple_service/payment/payment_gateway.py +19 -0
- openmodus-0.0.4/tests/fixtures/simple_service/payment/payment_service.py +21 -0
- openmodus-0.0.4/tests/machine/test_architecture.py +202 -0
- openmodus-0.0.4/tests/machine/test_capability_composer.py +158 -0
- openmodus-0.0.4/tests/machine/test_context_builder.py +254 -0
- openmodus-0.0.4/tests/machine/test_contracts.py +209 -0
- openmodus-0.0.4/tests/machine/test_corpus.py +41 -0
- openmodus-0.0.4/tests/machine/test_extraction_cache_identity.py +46 -0
- openmodus-0.0.4/tests/machine/test_language_fixtures.py +324 -0
- openmodus-0.0.4/tests/machine/test_lifecycle_degradation.py +138 -0
- openmodus-0.0.4/tests/machine/test_progress.py +72 -0
- openmodus-0.0.4/tests/machine/test_projection.py +162 -0
- openmodus-0.0.4/tests/machine/test_public_contracts.py +129 -0
- openmodus-0.0.4/tests/machine/test_states.py +102 -0
- openmodus-0.0.4/tests/machine/test_store_validation.py +435 -0
- openmodus-0.0.4/tests/test_analysis_pipeline.py +374 -0
- openmodus-0.0.4/tests/test_cli_boundaries.py +174 -0
- openmodus-0.0.4/tests/test_cli_localization.py +234 -0
- openmodus-0.0.4/tests/test_documented_cli.py +138 -0
- openmodus-0.0.4/tests/test_evidence_selection.py +323 -0
- openmodus-0.0.4/tests/test_hooks.py +166 -0
- openmodus-0.0.4/tests/test_install_safety.py +132 -0
- openmodus-0.0.4/tests/test_knowledge_retrieval.py +303 -0
- openmodus-0.0.4/tests/test_knowledge_update.py +350 -0
- openmodus-0.0.4/tests/test_orchestrator.py +90 -0
- openmodus-0.0.4/tests/test_platforms.py +113 -0
- openmodus-0.0.4/tests/test_project_lifecycle.py +368 -0
- openmodus-0.0.4/tests/test_release_smoke.py +154 -0
- openmodus-0.0.4/tests/test_scaffold.py +112 -0
- openmodus-0.0.4/tests/test_sensitive_literals.py +130 -0
- openmodus-0.0.4/tests/test_verify_knowledge.py +323 -0
- openmodus-0.0.4/tests/test_workspace_lifecycle.py +144 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/uv.lock +3 -1
- openmodus-0.0.2/PKG-INFO +0 -420
- openmodus-0.0.2/README.md +0 -371
- openmodus-0.0.2/READMEs/README.en.md +0 -372
- openmodus-0.0.2/docs/knowledge-lifecycle-boundary.md +0 -558
- openmodus-0.0.2/docs/modus-authoring-contract-latest.md +0 -1774
- openmodus-0.0.2/src/modus/activation_guidance.py +0 -31
- openmodus-0.0.2/src/modus/artifacts_io.py +0 -1066
- openmodus-0.0.2/src/modus/cli.py +0 -2007
- openmodus-0.0.2/src/modus/command_reference.py +0 -372
- openmodus-0.0.2/src/modus/commands/help.py +0 -131
- openmodus-0.0.2/src/modus/machine/ARCHITECTURE.md +0 -121
- openmodus-0.0.2/src/modus/machine/README.md +0 -138
- openmodus-0.0.2/src/modus/machine/capability/README.md +0 -10
- openmodus-0.0.2/src/modus/machine/corpus/README.md +0 -9
- openmodus-0.0.2/src/modus/machine/corpus/source_coordinates.py +0 -80
- openmodus-0.0.2/src/modus/machine/facts/README.md +0 -11
- openmodus-0.0.2/src/modus/machine/facts/build_resolvers/cpp_resolver.py +0 -173
- openmodus-0.0.2/src/modus/machine/facts/frontend.py +0 -1425
- openmodus-0.0.2/src/modus/machine/facts/provider_assets/modus_go_analyzer.go +0 -367
- openmodus-0.0.2/src/modus/machine/packet/README.md +0 -18
- openmodus-0.0.2/src/modus/machine/projection/README.md +0 -9
- openmodus-0.0.2/src/modus/machine/resolution/README.md +0 -9
- openmodus-0.0.2/src/modus/machine/resolution/topology.py +0 -1539
- openmodus-0.0.2/src/modus/orchestrator/README.md +0 -67
- openmodus-0.0.2/src/modus/retrieval/README.md +0 -64
- openmodus-0.0.2/src/modus/retrieval/runtime.py +0 -39
- openmodus-0.0.2/src/modus/scaffold/README.md +0 -74
- openmodus-0.0.2/src/modus/scaffold/templates/README.md +0 -37
- {openmodus-0.0.2 → openmodus-0.0.4}/.gitignore +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/LICENSE +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/schemas/machine/analysis-receipt.schema.json +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/schemas/machine/authoring-context-packet.schema.json +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/schemas/machine/capability-slice.schema.json +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/schemas/machine/evidence-page.schema.json +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/schemas/module-meta.schema.yaml +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/__main__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/context_cmd.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/commands/permission_errors.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/hooks/context.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/knowledge_verification/models.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/api.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/composer.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/contracts.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/capability/lifecycle.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/contracts.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/source_filters.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/corpus/source_snapshot.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/errors.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/compiler/cache.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/frontend_frameworks.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/frontend_routes.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/language_capabilities.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/facts/provider_assets/modus_typescript_analyzer.cjs +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/implementation.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/language-registry.json +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/packet/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/packet/contracts.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/packet/lifecycle.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/progress.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/community_signal.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/projection/contracts.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/receipts.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/contracts.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/resolution/topology_model.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/runtime/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/runtime/resources.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/runtime/toolchains.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/states.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/machine/store/ids.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/fallback.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/orchestrator/query_terms.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/base.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/claude.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/platforms/codex.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/project_activation.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/py.typed +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/budget.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/__init__.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/sections.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/retrieval/stages/settings.py +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/commands/init.md +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/commands/reinit.md +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/commands/update-knowledge.md +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/scaffold/templates/skills/modus-init/references/constraint-extraction.md +0 -0
- {openmodus-0.0.2 → openmodus-0.0.4}/src/modus/text_tree.py +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# 架构设计
|
|
2
|
+
|
|
3
|
+
Modus 将三个生命周期分开管理:**接入资产让工作流可用,初始化分析提供可丢弃的证据,经过评审的 Markdown 保存长期知识**。日常检索读取当前源码与知识正文,不重建或重开初始化数据。模块围绕各自拥有的数据、失败语义与变更边界划分。
|
|
4
|
+
|
|
5
|
+
<!--
|
|
6
|
+
阅读入口按职责排列;新增入口时核对真实的模块所有者。
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
## 从这里开始阅读
|
|
10
|
+
|
|
11
|
+
1. [CLI 组合入口](src/modus/cli.py):五个公开命令与供技能调用的内部适配器。
|
|
12
|
+
2. [项目安装](src/modus/commands/init_project.py):预检、计划写入、回滚与清单发布。
|
|
13
|
+
3. [分析 API](src/modus/machine/api.py):构建、验证后打开、证据筛选与创作上下文。
|
|
14
|
+
4. [上下文解析](src/modus/orchestrator/context_resolver.py):一个请求、一个共享预算、一份当前证据。
|
|
15
|
+
5. [知识更新](src/modus/knowledge_update.py)与[写入会话](src/modus/knowledge_write_session.py):所有权、读取时哈希、并发冲突与原子发布。
|
|
16
|
+
|
|
17
|
+
<!--
|
|
18
|
+
依赖方向与写入所有权同时约束扩展,不能仅凭导入无环判断分层。
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
## 依赖与所有权
|
|
22
|
+
|
|
23
|
+
```mermaid
|
|
24
|
+
flowchart TB
|
|
25
|
+
CLI[CLI 组合入口] --> Terminal[终端适配器]
|
|
26
|
+
Terminal --> Commands[应用命令]
|
|
27
|
+
Terminal --> Machine[初始化分析]
|
|
28
|
+
Terminal --> Display[中文帮助与诊断]
|
|
29
|
+
Commands --> Install[模板与平台适配]
|
|
30
|
+
Commands --> Orchestration[上下文与影响编排]
|
|
31
|
+
Orchestration --> Retrieval[当前 Markdown 与源码检索]
|
|
32
|
+
Commands --> Verify[知识完整性核验]
|
|
33
|
+
Commands --> Writes[知识写入会话]
|
|
34
|
+
Install --> Manifest[所有权清单]
|
|
35
|
+
Machine --> Cache[临时证据包]
|
|
36
|
+
Writes --> Knowledge[长期 Markdown 知识]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
| 边界 | 所有者 | 扩展规则 |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| 命令树与全局参数 | `cli.py` | 显式注册公开入口,不承载工作流实现 |
|
|
42
|
+
| 参数、交互、流与退出码 | `cli_commands/` | 按工作流拆分适配器,不修改 Click 全局状态 |
|
|
43
|
+
| 中文帮助与解析错误 | `cli_commands/presentation.py` | 从已注册参数生成帮助,仅适配框架固定句式 |
|
|
44
|
+
| 分析进度与恢复提示 | `cli_commands/analysis_display.py` | 转换展示副本,不改证据、摘要或 JSON 契约 |
|
|
45
|
+
| 协议值的展示名称 | `display_labels.py` | 终端与 Markdown 复用;未知值保留原标识 |
|
|
46
|
+
| 安装与维护事务 | `commands/` | 返回结构化结果,展示由 `*_report.py` 负责 |
|
|
47
|
+
| 平台中立的工作流分发 | `scaffold/` | 验证静态模板并记录资产所有权 |
|
|
48
|
+
| 宿主差异 | `platforms/`、`hooks/` | 声明布局,复用合并与卸载契约;`platforms/display.py` 统一平台显示名与交互顺序 |
|
|
49
|
+
| 初始化分析 | `machine/` | 单向语义阶段,显式覆盖缺口 |
|
|
50
|
+
| 任务编排 | `orchestrator/` | 组合证据与策略,不拥有搜索算法或写入 |
|
|
51
|
+
| 检索 | `retrieval/` | 共享截止时间与输出预算,明确返回部分结果 |
|
|
52
|
+
| 完整性 | `knowledge_verification/` | 报告客观缺陷,不给正文质量打分 |
|
|
53
|
+
| 长期写入 | `knowledge_write_session.py` | 路径约束、所有权、哈希条件写入、锁与原子替换 |
|
|
54
|
+
|
|
55
|
+
<!--
|
|
56
|
+
机器层的确定性不等于业务结论的完整性,二者各有验收责任。
|
|
57
|
+
-->
|
|
58
|
+
|
|
59
|
+
## 分析证据是创作输入
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
N1 源码基线 → N2 程序事实 → N3 关系解析 → N4 能力模型 → N5 创作投影 → N6 证据包
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
后续阶段消费前序契约。投影与打包不能重新读取源码来补造缺失观察。存储与资源策略不依赖任何语义阶段。[架构测试](tests/machine/test_architecture.py)检查这些方向,包括函数内的延迟导入。
|
|
66
|
+
|
|
67
|
+
可选解析器或编译器缺失,只产生对应范围的覆盖回执。契约、完整性、输入漂移或必需工具失败会中止本轮。完整证据包经过核验后才原子发布;失败不能替换已有完整包,也不能把旧包当作当前证据。消费者必须提供本轮身份,并使用经过认证且有预算限制的查询。
|
|
68
|
+
|
|
69
|
+
[分析层指南](src/modus/machine/README.md)说明扩展注册、进度、摘要与错误码。编译器观察属于 N2;语言适配器无权决定最终业务边界。
|
|
70
|
+
|
|
71
|
+
同一阶段内部继续按责任分解:
|
|
72
|
+
|
|
73
|
+
| 职责 | 组合入口 | 支撑模块 |
|
|
74
|
+
| --- | --- | --- |
|
|
75
|
+
| 原子发布 | [产物 I/O](src/modus/artifacts_io.py) | [原子写入](src/modus/atomic_writes.py)负责描述符绑定与替换;锁与 YAML 加载留在产物 I/O |
|
|
76
|
+
| 文件内解析 | [原生解析器](src/modus/machine/facts/native_parser.py) | [语法契约](src/modus/machine/facts/native_syntax.py)定义语法类别与可移植结果;[访问器](src/modus/machine/facts/native_visitor.py)负责单文件遍历,入口负责解析器选择与生命周期 |
|
|
77
|
+
| 框架观察 | [前端入口](src/modus/machine/facts/frontend.py) | [上下文](src/modus/machine/facts/frontend_context.py)、[状态](src/modus/machine/facts/frontend_state.py)与[服务路由](src/modus/machine/facts/frontend_server.py)共享源码锚点,不执行应用 |
|
|
78
|
+
| 拓扑 | [拓扑组装](src/modus/machine/resolution/topology.py) | [规则](src/modus/machine/resolution/topology_rules.py)、[记录](src/modus/machine/resolution/topology_records.py)与[资源](src/modus/machine/resolution/topology_resources.py)分开处理分类和发布 |
|
|
79
|
+
| 目录投影 | [证据目录](src/modus/machine/store/bundle_catalogs.py) | [范围目录](src/modus/machine/store/scope_catalog.py)拥有范围记录,[构建原语](src/modus/machine/store/catalog_building.py)共享规范化操作 |
|
|
80
|
+
| 工作区地图 | [工作区服务](src/modus/workspace.py) | [地图渲染](src/modus/workspace_maps.py)只消费观察,不读写成员仓库 |
|
|
81
|
+
|
|
82
|
+
移动解析实现时必须同步实现指纹。观察结果的缓存身份要随访问器或语法契约变化而失效,仅以源码内容作为缓存键不够。
|
|
83
|
+
|
|
84
|
+
<!--
|
|
85
|
+
人工正文的所有权与分析缓存不同,重建证据不得覆盖人工知识。
|
|
86
|
+
-->
|
|
87
|
+
|
|
88
|
+
## 长期知识有独立的生命周期
|
|
89
|
+
|
|
90
|
+
| 接入项目中的位置 | 生命周期与权限 |
|
|
91
|
+
| --- | --- |
|
|
92
|
+
| `.modus/` 与平台接入文件 | 框架受管资产,由清单保护用户修改 |
|
|
93
|
+
| `modus/.cache/` | 可丢弃的分析与临时创作状态 |
|
|
94
|
+
| `modus/knowledge/` | 经评审、随项目版本管理的 Markdown |
|
|
95
|
+
| 知识中的 `business/` 与 `constraint/` | 默认由人工维护,自动化修改需要明确授权 |
|
|
96
|
+
|
|
97
|
+
[创作契约](docs/authoring-contract.md)区分证据闭环、面向读者的正文与发布。机器建议指导调查,当前源码、测试、配置与明确材料确立事实。结构核验 `clean` 不等于业务事实正确或正文清晰。
|
|
98
|
+
|
|
99
|
+
写入使用准备修改时观察到的哈希。并发修改形成冲突,不被覆盖。迁移先建立新主定义、修复链接,再删除旧生成文件。知识更新批次按文件报告独立结果,不承诺全批回滚;安装事务则对计划目标创建快照,失败时尝试精确回滚,并明确报告恢复不完整。
|
|
100
|
+
|
|
101
|
+
<!--
|
|
102
|
+
日常读取使用当前项目内容,初始化数据不是长期检索索引。
|
|
103
|
+
-->
|
|
104
|
+
|
|
105
|
+
## 检索始终面向当前项目
|
|
106
|
+
|
|
107
|
+
[编排层](src/modus/orchestrator/README.md)选择范围并组装协议;[检索管线](src/modus/retrieval/README.md)负责渐进发现 Markdown、词法与结构排序、源码采集和交付。整个请求共用一个预算,缺失证据、不安全文件与截断都可见。运行时不能用初始化缓存替代当前源码。
|
|
108
|
+
|
|
109
|
+
仅在执行分析命令时导入分析依赖。帮助、状态、安装和普通源码/Markdown 检索不提前加载解析器、图依赖或分析管线。
|
|
110
|
+
|
|
111
|
+
<!--
|
|
112
|
+
展示语言可本地化,稳定命令、字段和错误码仍保持机器兼容。
|
|
113
|
+
-->
|
|
114
|
+
|
|
115
|
+
## 中文体验与公开契约
|
|
116
|
+
|
|
117
|
+
面向用户的帮助、交互、诊断、生成知识和维护文档默认使用简体中文。命令名、参数、路径、Python 标识、JSON 字段、状态值与稳定错误码保持协议原样。用户明确指定其他正文语言时,创作工作流遵从该要求。
|
|
118
|
+
|
|
119
|
+
中文化在拥有文本的边界完成:命令目录维护语义说明,报告模块维护结果展示,终端层适配框架默认提示,模板维护创作约定。错误信息说明问题与恢复动作,第三方工具的原始诊断可作为细节保留。不得通过全局猴子补丁、整段输出替换或改写传输字段实现本地化。
|
|
120
|
+
|
|
121
|
+
增加宿主时扩展经过验证的平台注册表;增加语言时同步声明、版本化实现与支持/降级夹具;增加检索信号时修改其所属阶段。不要仅为缩短文件创建抽象,只有所有者、生命周期或失败策略不同才拆分。
|
|
122
|
+
|
|
123
|
+
[贡献指南](CONTRIBUTING.md)说明命名、注释与验证要求。[发布工具](scripts/README.md)检查源码包和 wheel,并脱离源码仓库运行已安装产物。
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
开发工具版本与锁文件一起维护,指南不维护第二套依赖约束。
|
|
3
|
+
评审关注可观察行为与所有权,不用格式改动代替设计说明。
|
|
4
|
+
新增边界应说明输入、失败结果与兼容性。
|
|
5
|
+
语言约定只改变展示,机器字段和稳定路径保持原义。
|
|
6
|
+
本地验证结果需注明环境,未运行的平台不作通过承诺。
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
# 参与贡献
|
|
10
|
+
|
|
11
|
+
先阅读[架构设计](ARCHITECTURE.md),再进入待修改模块的 README。一项变更应围绕一个可观察行为或一个所有权边界展开。提交说明写清问题、修改后的行为与相关验证,便于未参与讨论的维护者评审。
|
|
12
|
+
|
|
13
|
+
## 本地开发
|
|
14
|
+
|
|
15
|
+
使用 Python 3.11–3.14,在 Git 工作区按已提交的 uv 锁文件安装:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
uv sync --locked --extra test
|
|
19
|
+
uv run --locked --extra test pytest -q
|
|
20
|
+
uv run --locked --extra test ruff check src tests scripts
|
|
21
|
+
uv run --locked --extra test ruff format --check src tests scripts
|
|
22
|
+
uv run --locked --extra test mypy
|
|
23
|
+
git diff --check
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
发布前执行 `./scripts/wheel-smoke.sh`:重新构建 wheel 与源码包、检查内容,并运行独立的 wheel 验收。该脚本不发布安装包。源码包附带测试与发布脚本,下游维护者可复现检查。
|
|
27
|
+
|
|
28
|
+
CI 覆盖 Linux 的 Python 3.11–3.14,以及 macOS、Windows 的最低与最高支持版本;Linux/Python 3.14 还执行风格、类型与分发检查。本地结果只代表实际运行的环境。覆盖率用于分析,没有强制百分比门槛。
|
|
29
|
+
|
|
30
|
+
## 命名与模块设计
|
|
31
|
+
|
|
32
|
+
- 组合入口保持声明式:终端适配器拥有参数、交互、输出流和退出码,服务拥有应用行为,报告模块将结构化结果转为读者可理解的文本。
|
|
33
|
+
- 模块以其职责命名。Python 使用 `snake_case`,类型使用 `PascalCase`,JSON 键遵守既有模式。稳定 ID 与路径独立于中文展示名。
|
|
34
|
+
- 在有意义的边界使用带类型的值对象。优先扩展现有所有者,避免泛化工具层、可变全局注册表和没有消费者的兼容别名。
|
|
35
|
+
- 按数据所有权、生命周期或失败策略拆分模块;不为行数或表面整齐制造层级。
|
|
36
|
+
- 区分精确观察、候选、启发式与未解析关系。可选能力缺口可降级,漂移、损坏和无效契约必须阻止错误结果继续传播。
|
|
37
|
+
- 在能解释异常的边界捕获预期异常,保留异常原因。面向用户说明失败对象、当前结果与恢复动作,不以笼统成功掩盖部分失败。
|
|
38
|
+
- 写入需证明所有权、路径约束与并发行为。逐文件原子性不等于批量事务回滚。
|
|
39
|
+
|
|
40
|
+
## 注释与文档语言
|
|
41
|
+
|
|
42
|
+
默认使用简体中文编写 CLI 提示、维护文档和面向用户的知识。新增或实质修改的注释、文档字符串优先用中文说明**为何如此、边界是什么、失败时谁负责**;不要逐句复述代码。现有解析算法中的英文技术说明可在相关模块改动时逐步整理,外部协议、术语与原始诊断保留必要拼写。
|
|
43
|
+
|
|
44
|
+
[README.md](README.md)是默认中文入口,[英文版](READMEs/README.en.md)是明确独立的翻译版。安装、命令或支持范围变化时同步维护两者。
|
|
45
|
+
|
|
46
|
+
语言边界遵循以下规则:
|
|
47
|
+
|
|
48
|
+
| 内容 | 约定 |
|
|
49
|
+
| --- | --- |
|
|
50
|
+
| 帮助、确认、预览、进度、恢复建议 | 简体中文 |
|
|
51
|
+
| 新创作的知识与生成的工作区导航 | 默认简体中文;用户明确指定其他语言时遵从 |
|
|
52
|
+
| 命令、参数、路径、slug、源码标识 | 保持原样 |
|
|
53
|
+
| JSON 字段、枚举状态、诊断码与摘要 | 保持机器契约;说明文本可使用中文 |
|
|
54
|
+
| 多语言检索词、Unicode 测试数据、第三方错误细节 | 保留原始含义,不机械翻译 |
|
|
55
|
+
|
|
56
|
+
帮助从实际注册参数生成;命令语义放在 `command_reference.py`,通用交互放在 `cli_commands/presentation.py`,分析展示放在 `cli_commands/analysis_display.py`,协议值显示名放在 `display_labels.py`。不得修改 Click/Typer 的全局类、私有常量或整段替换用户输出。
|
|
57
|
+
|
|
58
|
+
`src/modus/scaffold/templates/` 是随包交付的产品契约,Python 直接读取这些资源,不另存一份竞争性正文规范。其[本地化约定](src/modus/scaffold/templates/skills/using-modus/references/authoring/framework/localization.md)规定默认语言与局部修订边界。
|
|
59
|
+
|
|
60
|
+
设计规则放在负责它的文档中,其他指南通过链接引用。文件名保持稳定、含义明确。创作设计与安装后的参考必须同步更新;相对链接和命令示例会按仓库与真实 CLI 注册情况检查。
|
|
61
|
+
|
|
62
|
+
## 测试与扩展
|
|
63
|
+
|
|
64
|
+
参见[测试地图](tests/README.md)。行为修复应覆盖有意义的成功、失败及用户数据保留场景。避免对偶然句式、辅助函数结构或输出长度做质量断言;语言回归可以检查中文语义与协议稳定性。
|
|
65
|
+
|
|
66
|
+
新增平台需覆盖安装、幂等、共享文件、升级、用户修改保护与卸载。新增语言需覆盖声明、实现版本、观察结果与缺失工具链降级。模式或公开 CLI 变更需说明兼容性影响并更新文档。只在安装后才可能暴露的问题放入产物与运行时冒烟检查。
|
|
67
|
+
|
|
68
|
+
迭代时执行最小相关检查,提交前跑完整验证。明确说明未执行的检查与原因,不把本地验证表述为跨平台 CI 已通过。
|