specsmith 0.21.0.dev765__tar.gz → 0.21.0.dev766__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.21.0.dev765/src/specsmith.egg-info → specsmith-0.21.0.dev766}/PKG-INFO +1 -1
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/pyproject.toml +1 -1
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/tools.py +24 -12
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/differ.py +4 -4
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/upgrader.py +1 -1
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/validator.py +1 -1
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766/src/specsmith.egg-info}/PKG-INFO +1 -1
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/LICENSE +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/README.md +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/setup.cfg +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/belief.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/certainty.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/py.typed +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/recovery.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/session.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/epistemic/trace.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/__main__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/model_router.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/runner.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/terminal_env.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/token_pricing.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/approvals.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/architect.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/auditor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/auth.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/block_export.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/channel.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/cli.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/commands/issues_policy.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/commands/reporting.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/compressor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/config.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/context_window.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/credits.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/dashboard.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/doctor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/drive.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/editor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/efficiency.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/esdb/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/esdb/_license.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/esdb/bridge.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/esdb/sqlite_store.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/esdb_sweep.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/esdb_writer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/executor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/exporter.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/governance_logic.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/governed_pr.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/history_search.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/importer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/instinct.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/codity.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/warp.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/languages.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/ledger.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/local_model.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/mcp_server.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m007_yaml_first.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m008_esdb_full_coverage.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m009_esdb_first.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m010_post_esdb_cleanup.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/patent.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/paths.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/phase.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/plugins.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/policy.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/profiles.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/project_metrics.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/quality_report.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/recover.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/releaser.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/requirements.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/risk.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/serve.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/session.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/session_init.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/session_store.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/ai_agents.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/data_engineering.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/governance.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/platform_engineering.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/software_engineering.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/specsmith_skills.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills/web_backend.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/sync.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/tools.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/trace.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/transcripts.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/updater.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/wi_store.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/workspace.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_CMD_001.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_agent_run_feedback.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_ai_client.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_architect_interview.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_architect_v2.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_architecture.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_audit_governance.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_auditor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_benchmark_harness.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_broker_scope.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_channel.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_cleanup_cmd.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_cli.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_cli_regressions.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_compliance.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_compliance_governance.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_compressor.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_deprecation_registry.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_dispatch.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_dual_write.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_efficiency.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_epistemic.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_backend_switch.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_enforcement.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_integration.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_license.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_sqlite.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_status_integrity.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_status_output.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_sweep.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_verify_chain_cli.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_esdb_writer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_golden_path.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_importer.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_init_modes.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_integrations.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_integrations_warp.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_intelligence.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_issue_policy_features.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_issues_263_264.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_local_model.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_markdown_deprecation.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_mcp_client.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_mcp_server.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_metrics_flush.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_migration_direction.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_model_router.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_new_modules.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_nexus.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_parallel_agents.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_permissions.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_project_metrics.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_quality_report.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_rate_limits.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_releaser.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_repl.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_repl_extended.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_reporting_commands.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_req_248_262.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_req_358_359.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_resume_command.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_scaffolder.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_schema_migrations.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_smoke.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_sqlite_parity.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_suggester.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_sync_reconcile.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_terminal_env.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_token_cost.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_tools.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_trace_vault_esdb.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_typing_guardrails.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_validator.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_vcs.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_warp_parity.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_warp_parity_followup.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_wi_lifecycle.py +0 -0
- {specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/tests/test_wi_lifecycle_extended.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.21.0.
|
|
3
|
+
Version: 0.21.0.dev766
|
|
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.21.0.
|
|
7
|
+
version = "0.21.0.dev766"
|
|
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"
|
|
@@ -37,8 +37,10 @@ def run_shell(command: str, cwd: str | None = None, timeout: int = 60) -> str:
|
|
|
37
37
|
return f"Error executing command: {e}\nSTDOUT:\n{e.stdout}\nSTDERR:\n{e.stderr}"
|
|
38
38
|
except subprocess.TimeoutExpired:
|
|
39
39
|
return f"Command timed out after {timeout} seconds."
|
|
40
|
-
except
|
|
41
|
-
return f"
|
|
40
|
+
except subprocess.SubprocessError as e:
|
|
41
|
+
return f"Subprocess error occurred: {e}"
|
|
42
|
+
except Exception as e: # noqa: BLE001
|
|
43
|
+
return f"Unexpected error occurred: {e}"
|
|
42
44
|
|
|
43
45
|
|
|
44
46
|
@validate_json_args
|
|
@@ -49,8 +51,10 @@ def read_file(path: str, cwd: str | None = None) -> str:
|
|
|
49
51
|
return f"Error: File '{path}' does not exist."
|
|
50
52
|
try:
|
|
51
53
|
return p.read_text(encoding="utf-8")
|
|
52
|
-
except
|
|
53
|
-
return f"
|
|
54
|
+
except OSError as e:
|
|
55
|
+
return f"OS error reading file: {e}"
|
|
56
|
+
except Exception as e: # noqa: BLE001
|
|
57
|
+
return f"Unexpected error reading file: {e}"
|
|
54
58
|
|
|
55
59
|
|
|
56
60
|
@validate_json_args
|
|
@@ -61,8 +65,10 @@ def write_file(path: str, content: str, cwd: str | None = None) -> str:
|
|
|
61
65
|
p.parent.mkdir(parents=True, exist_ok=True)
|
|
62
66
|
p.write_text(content, encoding="utf-8")
|
|
63
67
|
return f"Successfully wrote to '{path}'."
|
|
64
|
-
except
|
|
65
|
-
return f"
|
|
68
|
+
except OSError as e:
|
|
69
|
+
return f"OS error writing file: {e}"
|
|
70
|
+
except Exception as e: # noqa: BLE001
|
|
71
|
+
return f"Unexpected error writing file: {e}"
|
|
66
72
|
|
|
67
73
|
|
|
68
74
|
@validate_json_args
|
|
@@ -88,8 +94,10 @@ def patch_file(path: str, diff: str, cwd: str | None = None) -> str:
|
|
|
88
94
|
if result.returncode == 0:
|
|
89
95
|
return f"Successfully patched '{path}'."
|
|
90
96
|
return f"Failed to patch '{path}': {result.stderr or result.stdout}"
|
|
91
|
-
except
|
|
92
|
-
return f"
|
|
97
|
+
except OSError as e:
|
|
98
|
+
return f"OS error patching file: {e}"
|
|
99
|
+
except Exception as e: # noqa: BLE001
|
|
100
|
+
return f"Unexpected error patching file: {e}"
|
|
93
101
|
|
|
94
102
|
|
|
95
103
|
@validate_json_args
|
|
@@ -108,8 +116,10 @@ def list_files(path: str = ".", pattern: str = "**/*", cwd: str | None = None) -
|
|
|
108
116
|
cwd = os.getcwd()
|
|
109
117
|
rel_files = [os.path.relpath(f, cwd) for f in files if os.path.isfile(f)]
|
|
110
118
|
return "\n".join(rel_files) if rel_files else "No files found."
|
|
111
|
-
except
|
|
112
|
-
return f"
|
|
119
|
+
except OSError as e:
|
|
120
|
+
return f"OS error listing files: {e}"
|
|
121
|
+
except Exception as e: # noqa: BLE001
|
|
122
|
+
return f"Unexpected error listing files: {e}"
|
|
113
123
|
|
|
114
124
|
|
|
115
125
|
@validate_json_args
|
|
@@ -143,8 +153,10 @@ def open_url(url: str) -> str:
|
|
|
143
153
|
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
|
|
144
154
|
with urllib.request.urlopen(req) as response:
|
|
145
155
|
return response.read().decode("utf-8")
|
|
146
|
-
except
|
|
147
|
-
return f"
|
|
156
|
+
except urllib.error.URLError as e:
|
|
157
|
+
return f"URL error fetching: {e}"
|
|
158
|
+
except Exception as e: # noqa: BLE001
|
|
159
|
+
return f"Unexpected error fetching URL: {e}"
|
|
148
160
|
|
|
149
161
|
|
|
150
162
|
@validate_json_args
|
|
@@ -39,8 +39,8 @@ def run_diff(root: Path) -> list[tuple[str, str]]:
|
|
|
39
39
|
raw = _normalize_scaffold_raw(raw or {})
|
|
40
40
|
try:
|
|
41
41
|
config = ProjectConfig(**raw)
|
|
42
|
-
except Exception:
|
|
43
|
-
return [(scaffold_path.name, "invalid")]
|
|
42
|
+
except Exception as e: # noqa: BLE001
|
|
43
|
+
return [(scaffold_path.name, f"invalid: {e}")]
|
|
44
44
|
|
|
45
45
|
env = Environment(
|
|
46
46
|
loader=PackageLoader("specsmith", "templates"),
|
|
@@ -131,8 +131,8 @@ def run_diff_html(root: Path) -> str:
|
|
|
131
131
|
raw = _normalize_scaffold_raw(raw or {})
|
|
132
132
|
try:
|
|
133
133
|
config = ProjectConfig(**raw)
|
|
134
|
-
except Exception:
|
|
135
|
-
return "<html><body><p>Invalid scaffold config.</p></body></html>"
|
|
134
|
+
except Exception as e: # noqa: BLE001
|
|
135
|
+
return f"<html><body><p>Invalid scaffold config: {e}.</p></body></html>"
|
|
136
136
|
|
|
137
137
|
from specsmith.tools import get_tools
|
|
138
138
|
|
|
@@ -130,7 +130,7 @@ def run_upgrade(
|
|
|
130
130
|
raw = _normalize_scaffold_raw(raw or {})
|
|
131
131
|
try:
|
|
132
132
|
config = ProjectConfig(**raw)
|
|
133
|
-
except Exception as e:
|
|
133
|
+
except Exception as e: # noqa: BLE001
|
|
134
134
|
return UpgradeResult(message=f"Invalid scaffold config: {e}")
|
|
135
135
|
|
|
136
136
|
new_version = target_version or __version__
|
|
@@ -133,7 +133,7 @@ def _check_scaffold_yml(root: Path) -> list[ValidationResult]:
|
|
|
133
133
|
message=f"{cfg_name} valid: project={data['name']}, type={data['type']}",
|
|
134
134
|
)
|
|
135
135
|
)
|
|
136
|
-
except Exception as e:
|
|
136
|
+
except Exception as e: # noqa: BLE001
|
|
137
137
|
results.append(
|
|
138
138
|
ValidationResult(
|
|
139
139
|
name="scaffold-yml",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.21.0.
|
|
3
|
+
Version: 0.21.0.dev766
|
|
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.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/agent/dispatch/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/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.21.0.dev765 → specsmith-0.21.0.dev766}/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.21.0.dev765 → specsmith-0.21.0.dev766}/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
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/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.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/epistemic/failure_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/provider_bar.py
RENAMED
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/gui/widgets/token_meter.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/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.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/integrations/agent_skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/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
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m001_governance_yaml.py
RENAMED
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m002_agents_slim.py
RENAMED
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m003_compliance_init.py
RENAMED
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m004_ledger_esdb.py
RENAMED
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m005_agent_run_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m007_yaml_first.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.21.0.dev765 → specsmith-0.21.0.dev766}/src/specsmith/migrations/m009_esdb_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
|