specsmith 0.18.0.dev692__tar.gz → 0.18.0.dev698__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.18.0.dev692/src/specsmith.egg-info → specsmith-0.18.0.dev698}/PKG-INFO +1 -1
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/pyproject.toml +1 -1
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/runner.py +0 -22
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698/src/specsmith.egg-info}/PKG-INFO +1 -1
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_parallel_agents.py +4 -17
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/LICENSE +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/README.md +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/setup.cfg +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/belief.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/certainty.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/py.typed +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/recovery.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/session.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/epistemic/trace.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/__main__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/model_router.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/token_pricing.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/tools.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/approvals.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/architect.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/auditor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/auth.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/block_export.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/channel.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/cli.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/commands/issues_policy.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/commands/reporting.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/compressor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/config.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/context_window.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/credits.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/dashboard.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/differ.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/doctor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/drive.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/editor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/efficiency.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/esdb/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/esdb/_license.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/esdb/bridge.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/esdb/sqlite_store.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/esdb_sweep.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/esdb_writer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/executor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/exporter.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/governance_logic.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/governed_pr.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/history_search.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/importer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/instinct.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/codity.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/languages.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/ledger.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/local_model.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/mcp_server.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m007_yaml_first.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m008_esdb_full_coverage.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m009_esdb_first.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m010_post_esdb_cleanup.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/patent.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/paths.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/phase.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/plugins.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/policy.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/profiles.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/project_metrics.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/quality_report.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/recover.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/releaser.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/requirements.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/risk.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/serve.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/session.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/session_init.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/session_store.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/ai_agents.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/data_engineering.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/governance.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/platform_engineering.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/software_engineering.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/specsmith_skills.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/web_backend.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/sync.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/tools.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/trace.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/transcripts.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/updater.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/validator.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/wi_store.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/workspace.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_CMD_001.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_agent_run_feedback.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_ai_client.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_architect_interview.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_architect_v2.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_architecture.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_auditor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_benchmark_harness.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_channel.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_cleanup_cmd.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_cli.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_cli_regressions.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_compliance.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_compliance_governance.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_compressor.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_deprecation_registry.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_dispatch.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_dual_write.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_efficiency.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_epistemic.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_backend_switch.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_enforcement.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_integration.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_license.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_sqlite.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_status_integrity.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_status_output.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_sweep.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_verify_chain_cli.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_esdb_writer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_golden_path.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_importer.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_init_modes.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_integrations.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_intelligence.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_issue_policy_features.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_issues_263_264.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_local_model.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_markdown_deprecation.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_mcp_client.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_mcp_server.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_migration_direction.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_model_router.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_new_modules.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_nexus.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_permissions.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_project_metrics.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_quality_report.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_rate_limits.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_releaser.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_repl.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_repl_extended.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_reporting_commands.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_req_248_262.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_req_358_359.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_resume_command.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_scaffolder.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_schema_migrations.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_smoke.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_sqlite_parity.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_suggester.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_token_cost.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_tools.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_trace_vault_esdb.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_typing_guardrails.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_validator.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_vcs.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_warp_parity.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_warp_parity_followup.py +0 -0
- {specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/tests/test_wi_lifecycle.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.18.0.
|
|
3
|
+
Version: 0.18.0.dev698
|
|
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.18.0.
|
|
7
|
+
version = "0.18.0.dev698"
|
|
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"
|
|
@@ -587,28 +587,6 @@ class AgentRunner:
|
|
|
587
587
|
self._emit_event(type="system", message=hint)
|
|
588
588
|
return None
|
|
589
589
|
|
|
590
|
-
if result is None:
|
|
591
|
-
# All providers failed — give the user an actionable explanation
|
|
592
|
-
# rather than silent emptiness.
|
|
593
|
-
import os as _os
|
|
594
|
-
|
|
595
|
-
host = _os.environ.get("OLLAMA_HOST", DEFAULT_OLLAMA_HOST).rstrip("/")
|
|
596
|
-
if _ollama_alive(host):
|
|
597
|
-
model = _pick_ollama_model(host)
|
|
598
|
-
hint = (
|
|
599
|
-
f"Ollama is running but returned no response "
|
|
600
|
-
f"(model: {model}). "
|
|
601
|
-
"Try: ollama run " + model
|
|
602
|
-
)
|
|
603
|
-
else:
|
|
604
|
-
hint = (
|
|
605
|
-
"No LLM provider available. Options:\n"
|
|
606
|
-
" • Start Ollama: ollama serve\n"
|
|
607
|
-
" • Set ANTHROPIC_API_KEY / OPENAI_API_KEY / GOOGLE_API_KEY"
|
|
608
|
-
)
|
|
609
|
-
self._emit_event(type="system", message=hint)
|
|
610
|
-
return None
|
|
611
|
-
|
|
612
590
|
# Aggregate metrics into the session state (C1).
|
|
613
591
|
# ``run_chat`` now reports tokens_in / tokens_out / cost_usd off the
|
|
614
592
|
# provider response (Ollama prompt_eval_count + eval_count, OpenAI
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.18.0.
|
|
3
|
+
Version: 0.18.0.dev698
|
|
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
|
|
@@ -24,6 +24,7 @@ from __future__ import annotations
|
|
|
24
24
|
from pathlib import Path
|
|
25
25
|
from unittest import mock
|
|
26
26
|
|
|
27
|
+
import specsmith.esdb_writer as _esdb_mod
|
|
27
28
|
from specsmith.agent.core import AgentState
|
|
28
29
|
from specsmith.agent.dispatch import (
|
|
29
30
|
AgentPool,
|
|
@@ -303,8 +304,6 @@ class TestTokenMetricPerNode:
|
|
|
303
304
|
"""write_token_metric should be called once per completed node when tokens > 0."""
|
|
304
305
|
|
|
305
306
|
def test_write_token_metric_called_per_completed_node(self, tmp_path: Path) -> None:
|
|
306
|
-
import specsmith.esdb_writer as _esdb_mod
|
|
307
|
-
|
|
308
307
|
calls: list[dict] = []
|
|
309
308
|
|
|
310
309
|
def _fake_write(project_dir, **kwargs):
|
|
@@ -332,22 +331,10 @@ class TestTokenMetricPerNode:
|
|
|
332
331
|
calls: list[dict] = []
|
|
333
332
|
|
|
334
333
|
with mock.patch("specsmith.esdb_writer.write_token_metric", side_effect=calls.append):
|
|
335
|
-
# Simulate a node completing with no tokens (shouldn't write)
|
|
336
334
|
# The runner guards with: if tokens_in or tokens_out: write_token_metric(...)
|
|
337
|
-
|
|
338
|
-
tokens_out = 0
|
|
339
|
-
|
|
340
|
-
from specsmith.esdb_writer import write_token_metric
|
|
341
|
-
|
|
342
|
-
write_token_metric(
|
|
343
|
-
tmp_path,
|
|
344
|
-
input_tokens=tokens_in,
|
|
345
|
-
output_tokens=tokens_out,
|
|
346
|
-
cost_usd=0.0,
|
|
347
|
-
model="",
|
|
348
|
-
command_source="no-token-node",
|
|
349
|
-
work_item_id="",
|
|
350
|
-
)
|
|
335
|
+
# Zero-token nodes never satisfy the guard; write_token_metric is not called.
|
|
336
|
+
tokens_in, tokens_out = 0, 0
|
|
337
|
+
assert not (tokens_in or tokens_out), "tokens must be zero to exercise the guard"
|
|
351
338
|
assert calls == [], "No ESDB write should occur for zero-token nodes"
|
|
352
339
|
|
|
353
340
|
|
|
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.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/agent/dispatch/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/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.18.0.dev692 → specsmith-0.18.0.dev698}/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.18.0.dev692 → specsmith-0.18.0.dev698}/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.18.0.dev692 → specsmith-0.18.0.dev698}/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
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/epistemic/failure_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/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.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/provider_bar.py
RENAMED
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/gui/widgets/token_meter.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/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.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/integrations/agent_skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/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.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m001_governance_yaml.py
RENAMED
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m002_agents_slim.py
RENAMED
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m003_compliance_init.py
RENAMED
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m004_ledger_esdb.py
RENAMED
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m005_agent_run_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/migrations/m007_yaml_first.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.18.0.dev692 → specsmith-0.18.0.dev698}/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
|
|
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.18.0.dev692 → specsmith-0.18.0.dev698}/src/specsmith/skills/data_engineering.py
RENAMED
|
File without changes
|