specsmith 0.17.1.dev657__tar.gz → 0.17.1.dev659__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.17.1.dev657/src/specsmith.egg-info → specsmith-0.17.1.dev659}/PKG-INFO +1 -1
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/pyproject.toml +1 -1
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/governance_logic.py +12 -8
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659/src/specsmith.egg-info}/PKG-INFO +1 -1
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/LICENSE +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/README.md +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/setup.cfg +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/belief.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/certainty.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/py.typed +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/recovery.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/session.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/epistemic/trace.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/__main__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/model_router.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/runner.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/tools.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/approvals.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/architect.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/auditor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/auth.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/block_export.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/channel.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/cli.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/commands/issues_policy.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/commands/reporting.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/compressor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/config.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/context_window.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/credits.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/dashboard.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/differ.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/doctor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/drive.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/editor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/esdb/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/esdb/_license.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/esdb/bridge.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/esdb/sqlite_store.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/executor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/exporter.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/governed_pr.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/history_search.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/importer.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/instinct.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/codity.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/languages.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/ledger.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/local_model.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/mcp_server.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m007_yaml_first.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/patent.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/paths.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/phase.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/plugins.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/policy.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/profiles.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/project_metrics.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/quality_report.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/recover.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/releaser.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/requirements.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/risk.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/serve.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/session.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/session_init.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/session_store.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/ai_agents.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/data_engineering.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/governance.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/platform_engineering.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/software_engineering.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/specsmith_skills.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/web_backend.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/sync.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/tools.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/trace.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/transcripts.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/updater.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/validator.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/wi_store.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/workspace.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_CMD_001.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_agent_run_feedback.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_ai_client.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_architect_interview.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_architect_v2.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_architecture.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_auditor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_channel.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_cleanup_cmd.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_cli.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_cli_regressions.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_compliance.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_compliance_governance.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_compressor.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_dispatch.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_epistemic.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_esdb_backend_switch.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_esdb_enforcement.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_esdb_license.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_esdb_sqlite.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_esdb_verify_chain_cli.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_golden_path.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_importer.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_init_modes.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_integrations.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_intelligence.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_issue_policy_features.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_issues_263_264.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_local_model.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_markdown_deprecation.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_mcp_client.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_mcp_server.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_migration_direction.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_model_router.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_new_modules.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_nexus.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_permissions.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_project_metrics.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_quality_report.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_rate_limits.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_reporting_commands.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_req_248_262.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_req_358_359.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_scaffolder.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_schema_migrations.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_smoke.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_suggester.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_tools.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_typing_guardrails.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_validator.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_vcs.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_warp_parity.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_warp_parity_followup.py +0 -0
- {specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/tests/test_wi_lifecycle.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.17.1.
|
|
3
|
+
Version: 0.17.1.dev659
|
|
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
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.17.1.
|
|
7
|
+
version = "0.17.1.dev659"
|
|
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"
|
|
@@ -81,20 +81,24 @@ def run_preflight(
|
|
|
81
81
|
if _p in ("..", "..."):
|
|
82
82
|
raise ValueError(f"Path traversal rejected: {_raw!r}")
|
|
83
83
|
# os.path.realpath is a CodeQL-recognised py/path-injection sanitiser.
|
|
84
|
-
#
|
|
84
|
+
# Apply it once at root level; each derived path also wraps its construction
|
|
85
|
+
# in os.path.realpath so CodeQL can trace the sanitiser inline at every sink
|
|
86
|
+
# without relying on interprocedural taint propagation.
|
|
85
87
|
_safe_root = os.path.realpath(_raw)
|
|
86
|
-
_root = Path(_safe_root)
|
|
87
88
|
_root_str = _safe_root # alias used by helpers later in this function
|
|
88
89
|
intent = classify_intent(utterance)
|
|
89
90
|
# Requirements are now sourced from .specsmith/requirements.json (YAML-first mode).
|
|
90
91
|
# docs/REQUIREMENTS.md is deprecated (REQ-373) but still used as a fallback
|
|
91
92
|
# for keyword matching in infer_scope() when it exists. Explicit REQ-NNN IDs
|
|
92
93
|
# in the utterance are always resolved from requirements.json regardless.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
# Use os.path.* string functions so CodeQL can follow os.path.realpath as an
|
|
95
|
+
# inline sanitiser without a Path() object potentially re-tainting the flow.
|
|
96
|
+
_req_md_s = os.path.realpath(os.path.join(_raw, "docs", "REQUIREMENTS.md"))
|
|
97
|
+
if not os.path.isfile(_req_md_s):
|
|
98
|
+
_req_md_s = os.path.realpath(os.path.join(_raw, "REQUIREMENTS.md")) # legacy fallback
|
|
99
|
+
_req_md = Path(_req_md_s) # convert to Path for infer_scope (read-only use)
|
|
96
100
|
# infer_scope handles a non-existent path gracefully (returns empty scope)
|
|
97
|
-
_repo_idx = Path(os.path.join(_safe_root, ".repo-index", "files.json"))
|
|
101
|
+
_repo_idx = Path(os.path.realpath(os.path.join(_safe_root, ".repo-index", "files.json")))
|
|
98
102
|
scope = infer_scope(
|
|
99
103
|
utterance,
|
|
100
104
|
_req_md,
|
|
@@ -115,7 +119,7 @@ def run_preflight(
|
|
|
115
119
|
# Read requirements machine-state using os.path.join on the clean _root_str
|
|
116
120
|
# so CodeQL traces the full sanitisation chain without re-tainting via Path.
|
|
117
121
|
rq_records: list[Any] = []
|
|
118
|
-
rq_path = Path(os.path.join(_safe_root, ".specsmith", "requirements.json"))
|
|
122
|
+
rq_path = Path(os.path.realpath(os.path.join(_safe_root, ".specsmith", "requirements.json")))
|
|
119
123
|
if rq_path.is_file():
|
|
120
124
|
try:
|
|
121
125
|
_rq = _json.loads(rq_path.read_text(encoding="utf-8"))
|
|
@@ -132,7 +136,7 @@ def run_preflight(
|
|
|
132
136
|
# Read test-case machine-state (same rationale as above).
|
|
133
137
|
test_case_ids: list[str] = []
|
|
134
138
|
tc_records: list[Any] = []
|
|
135
|
-
tc_path = Path(os.path.join(_safe_root, ".specsmith", "testcases.json"))
|
|
139
|
+
tc_path = Path(os.path.realpath(os.path.join(_safe_root, ".specsmith", "testcases.json")))
|
|
136
140
|
if tc_path.is_file():
|
|
137
141
|
try:
|
|
138
142
|
_tc = _json.loads(tc_path.read_text(encoding="utf-8"))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.17.1.
|
|
3
|
+
Version: 0.17.1.dev659
|
|
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
|
|
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.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/dispatch/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/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.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/agent/model_intelligence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/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.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/epistemic/failure_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/provider_bar.py
RENAMED
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/gui/widgets/token_meter.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/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.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/integrations/agent_skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/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
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m001_governance_yaml.py
RENAMED
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m002_agents_slim.py
RENAMED
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m003_compliance_init.py
RENAMED
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m004_ledger_esdb.py
RENAMED
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m005_agent_run_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/migrations/m007_yaml_first.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
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/data_engineering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/platform_engineering.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/software_engineering.py
RENAMED
|
File without changes
|
{specsmith-0.17.1.dev657 → specsmith-0.17.1.dev659}/src/specsmith/skills/specsmith_skills.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|