specsmith 0.13.1.dev522__tar.gz → 0.13.1.dev533__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.
- {specsmith-0.13.1.dev522/src/specsmith.egg-info → specsmith-0.13.1.dev533}/PKG-INFO +2 -2
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/pyproject.toml +2 -2
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/cli.py +4 -3
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/esdb/__init__.py +3 -1
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/esdb/bridge.py +3 -1
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/esdb/sqlite_store.py +2 -2
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/governance_logic.py +2 -1
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533/src/specsmith.egg-info}/PKG-INFO +2 -2
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith.egg-info/requires.txt +1 -1
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_esdb_license.py +1 -1
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_mcp_server.py +0 -6
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/LICENSE +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/README.md +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/setup.cfg +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/belief.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/certainty.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/py.typed +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/recovery.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/session.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/epistemic/trace.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/__main__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/runner.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/tools.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/architect.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/auditor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/auth.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/block_export.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/channel.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/compressor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/config.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/context_window.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/credits.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/differ.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/doctor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/drive.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/editor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/esdb/_license.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/executor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/exporter.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/history_search.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/importer.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/instinct.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/codity.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/languages.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/ledger.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/mcp_server.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/patent.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/paths.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/phase.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/plugins.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/profiles.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/releaser.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/requirements.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/serve.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/session.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/session_init.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/session_store.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/ai_agents.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/data_engineering.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/governance.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/platform_engineering.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/software_engineering.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/specsmith_skills.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills/web_backend.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/sync.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/tools.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/trace.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/updater.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/validator.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/workspace.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_CMD_001.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_agent_run_feedback.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_ai_client.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_auditor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_channel.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_cli.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_compliance.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_compressor.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_dispatch.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_epistemic.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_esdb_sqlite.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_importer.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_integrations.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_intelligence.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_mcp_client.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_new_modules.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_nexus.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_permissions.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_rate_limits.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_req_248_262.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_req_358_359.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_scaffolder.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_smoke.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_suggester.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_tools.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_validator.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_vcs.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_warp_parity.py +0 -0
- {specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/tests/test_warp_parity_followup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.13.1.
|
|
3
|
+
Version: 0.13.1.dev533
|
|
4
4
|
Summary: AEE governance toolkit for AI-assisted development — session preflight gates, multi-agent dispatch, requirements↔test traceability, ESDB persistence, MCP server, and skills for Warp, Cursor, Claude Code, Copilot, Windsurf, and Aider.
|
|
5
5
|
Author: Layer1Labs Silicon, Inc.
|
|
6
6
|
License-Expression: MIT
|
|
@@ -40,7 +40,7 @@ Requires-Dist: pre-commit>=3.0; extra == "dev"
|
|
|
40
40
|
Requires-Dist: types-pyyaml>=6.0; extra == "dev"
|
|
41
41
|
Requires-Dist: cryptography>=42.0; extra == "dev"
|
|
42
42
|
Provides-Extra: esdb
|
|
43
|
-
Requires-Dist: chronomemory>=0.1.
|
|
43
|
+
Requires-Dist: chronomemory>=0.1.4; extra == "esdb"
|
|
44
44
|
Requires-Dist: cryptography>=42.0; extra == "esdb"
|
|
45
45
|
Provides-Extra: docs
|
|
46
46
|
Requires-Dist: mkdocs>=1.6; extra == "docs"
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.13.1.
|
|
7
|
+
version = "0.13.1.dev533"
|
|
8
8
|
description = "AEE governance toolkit for AI-assisted development — session preflight gates, multi-agent dispatch, requirements↔test traceability, ESDB persistence, MCP server, and skills for Warp, Cursor, Claude Code, Copilot, Windsurf, and Aider."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -60,7 +60,7 @@ dev = [
|
|
|
60
60
|
# Install: pip install specsmith[esdb]
|
|
61
61
|
# Activate: specsmith esdb enable --key-file /path/to/your.esdb.key
|
|
62
62
|
esdb = [
|
|
63
|
-
"chronomemory>=0.1.
|
|
63
|
+
"chronomemory>=0.1.4", # proprietary commercial — see chronomemory LICENSE
|
|
64
64
|
"cryptography>=42.0",
|
|
65
65
|
]
|
|
66
66
|
docs = [
|
|
@@ -4234,15 +4234,16 @@ def agent_ask_cmd(prompt: str, project_dir: str, as_json: bool) -> None:
|
|
|
4234
4234
|
)
|
|
4235
4235
|
action = "skills_hint"
|
|
4236
4236
|
elif any(k in lower for k in ("esdb", "database", "backup", "export", "records")):
|
|
4237
|
-
|
|
4237
|
+
from specsmith.esdb import ESDB_BACKEND as _ESDB_BACKEND # noqa: PLC0415
|
|
4238
|
+
from specsmith.esdb import open_default_store as _open_default_store # noqa: PLC0415
|
|
4238
4239
|
|
|
4239
4240
|
action = "esdb_status"
|
|
4240
4241
|
try:
|
|
4241
|
-
store =
|
|
4242
|
+
store = _open_default_store(project_dir, warn=False)
|
|
4242
4243
|
with store:
|
|
4243
4244
|
count = store.record_count()
|
|
4244
4245
|
chain_ok = store.chain_valid()
|
|
4245
|
-
reply = f"ESDB: {
|
|
4246
|
+
reply = f"ESDB: {_ESDB_BACKEND} | {count} records | chain_valid={chain_ok}"
|
|
4246
4247
|
except Exception as exc: # noqa: BLE001
|
|
4247
4248
|
reply = f"ESDB unavailable: {exc}"
|
|
4248
4249
|
elif any(k in lower for k in ("mcp", "server", "tool server")):
|
|
@@ -98,7 +98,9 @@ except ImportError:
|
|
|
98
98
|
"""Stub module reference so 'from specsmith.esdb import query, metrics' works."""
|
|
99
99
|
|
|
100
100
|
def __getattr__(self, name: str) -> "_Stub":
|
|
101
|
-
raise
|
|
101
|
+
raise AttributeError( # noqa: TRY301
|
|
102
|
+
f"'{name}' is unavailable: {_INSTALL_HINT}"
|
|
103
|
+
)
|
|
102
104
|
|
|
103
105
|
query = _StubModule() # type: ignore[assignment]
|
|
104
106
|
metrics = _StubModule() # type: ignore[assignment]
|
|
@@ -44,7 +44,9 @@ except ImportError: # pragma: no cover
|
|
|
44
44
|
|
|
45
45
|
class _StubModule: # noqa: F811
|
|
46
46
|
def __getattr__(self, name: str) -> "_Stub":
|
|
47
|
-
raise
|
|
47
|
+
raise AttributeError( # noqa: TRY301
|
|
48
|
+
f"'{name}' is unavailable: {_INSTALL_HINT}"
|
|
49
|
+
)
|
|
48
50
|
|
|
49
51
|
EsdbBridge = EsdbRecord = EsdbStatus = ContextPackCompiler = DepGraph = _Stub # noqa: F811
|
|
50
52
|
query = _StubModule() # noqa: F811
|
|
@@ -330,7 +330,7 @@ class SqliteStore:
|
|
|
330
330
|
)
|
|
331
331
|
counts["requirements"] += 1
|
|
332
332
|
except (OSError, ValueError):
|
|
333
|
-
|
|
333
|
+
counts["skipped"] += 1 # file unreadable or invalid JSON
|
|
334
334
|
|
|
335
335
|
test_path = state_dir / "testcases.json"
|
|
336
336
|
if test_path.exists():
|
|
@@ -351,7 +351,7 @@ class SqliteStore:
|
|
|
351
351
|
)
|
|
352
352
|
counts["testcases"] += 1
|
|
353
353
|
except (OSError, ValueError):
|
|
354
|
-
|
|
354
|
+
counts["skipped"] += 1 # file unreadable or invalid JSON
|
|
355
355
|
|
|
356
356
|
return counts
|
|
357
357
|
|
|
@@ -71,7 +71,8 @@ def run_preflight(
|
|
|
71
71
|
from specsmith import __version__
|
|
72
72
|
from specsmith.agent.broker import Intent, classify_intent, infer_scope
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
_safe_resolve(project_dir) # validate: reject null bytes and traversal sequences
|
|
75
|
+
root = Path(os.path.realpath(str(project_dir))) # CodeQL-visible sanitiser (py/path-injection)
|
|
75
76
|
intent = classify_intent(utterance)
|
|
76
77
|
# Requirements live at docs/REQUIREMENTS.md, not at the project root.
|
|
77
78
|
# Falling back to root/REQUIREMENTS.md would always yield an empty list
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.13.1.
|
|
3
|
+
Version: 0.13.1.dev533
|
|
4
4
|
Summary: AEE governance toolkit for AI-assisted development — session preflight gates, multi-agent dispatch, requirements↔test traceability, ESDB persistence, MCP server, and skills for Warp, Cursor, Claude Code, Copilot, Windsurf, and Aider.
|
|
5
5
|
Author: Layer1Labs Silicon, Inc.
|
|
6
6
|
License-Expression: MIT
|
|
@@ -40,7 +40,7 @@ Requires-Dist: pre-commit>=3.0; extra == "dev"
|
|
|
40
40
|
Requires-Dist: types-pyyaml>=6.0; extra == "dev"
|
|
41
41
|
Requires-Dist: cryptography>=42.0; extra == "dev"
|
|
42
42
|
Provides-Extra: esdb
|
|
43
|
-
Requires-Dist: chronomemory>=0.1.
|
|
43
|
+
Requires-Dist: chronomemory>=0.1.4; extra == "esdb"
|
|
44
44
|
Requires-Dist: cryptography>=42.0; extra == "esdb"
|
|
45
45
|
Provides-Extra: docs
|
|
46
46
|
Requires-Dist: mkdocs>=1.6; extra == "docs"
|
|
@@ -159,7 +159,7 @@ def test_resolve_license_path_default(tmp_path: Path) -> None:
|
|
|
159
159
|
specsmith_dir = tmp_path / ".specsmith"
|
|
160
160
|
specsmith_dir.mkdir()
|
|
161
161
|
_make_license_file(specsmith_dir, filename="esdb.key")
|
|
162
|
-
|
|
162
|
+
from specsmith.esdb import _license as lic_mod # noqa: PLC0415
|
|
163
163
|
|
|
164
164
|
def fake_home() -> Path:
|
|
165
165
|
return tmp_path
|
|
@@ -634,8 +634,6 @@ class TestGovernanceReqListYamlMode:
|
|
|
634
634
|
|
|
635
635
|
def test_yaml_mode_returns_new_req_despite_stale_cache(self, yaml_mode_project: Path) -> None:
|
|
636
636
|
"""REQ-364: governance_req_list in yaml_mode reads YAML, not JSON cache."""
|
|
637
|
-
import specsmith.mcp_server as mcp_mod
|
|
638
|
-
|
|
639
637
|
result = mcp_mod._handle_governance_req_list({"project_dir": str(yaml_mode_project)})
|
|
640
638
|
req_ids = {r["id"] for r in result["reqs"]}
|
|
641
639
|
assert "REQ-NEW" in req_ids, (
|
|
@@ -646,8 +644,6 @@ class TestGovernanceReqListYamlMode:
|
|
|
646
644
|
|
|
647
645
|
def test_yaml_mode_coverage_from_yaml_tests(self, yaml_mode_project: Path) -> None:
|
|
648
646
|
"""Coverage is computed from YAML tests, not stale JSON cache."""
|
|
649
|
-
import specsmith.mcp_server as mcp_mod
|
|
650
|
-
|
|
651
647
|
result = mcp_mod._handle_governance_req_list({"project_dir": str(yaml_mode_project)})
|
|
652
648
|
reqs_by_id = {r["id"]: r for r in result["reqs"]}
|
|
653
649
|
# REQ-001 has a test in YAML → covered
|
|
@@ -657,8 +653,6 @@ class TestGovernanceReqListYamlMode:
|
|
|
657
653
|
|
|
658
654
|
def test_legacy_mode_still_uses_json_cache(self, tmp_path: Path) -> None:
|
|
659
655
|
"""Non-yaml-mode projects still use the JSON cache (backward compat)."""
|
|
660
|
-
import specsmith.mcp_server as mcp_mod
|
|
661
|
-
|
|
662
656
|
state = tmp_path / ".specsmith"
|
|
663
657
|
state.mkdir()
|
|
664
658
|
# No governance-mode file → legacy mode
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/dispatch/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/execution_profiles.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/model_intelligence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/agent/provider_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/datasources/patentsview.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/failure_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/epistemic/stress_tester.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/provider_bar.py
RENAMED
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/token_meter.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/gui/widgets/update_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/agent_skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/integrations/claude_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m001_governance_yaml.py
RENAMED
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m002_agents_slim.py
RENAMED
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m003_compliance_init.py
RENAMED
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m004_ledger_esdb.py
RENAMED
|
File without changes
|
{specsmith-0.13.1.dev522 → specsmith-0.13.1.dev533}/src/specsmith/migrations/m005_agent_run_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|