specsmith 0.16.0.dev593__tar.gz → 0.16.0.dev599__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.16.0.dev593/src/specsmith.egg-info → specsmith-0.16.0.dev599}/PKG-INFO +17 -1
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/README.md +16 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/pyproject.toml +1 -1
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599/src/specsmith.egg-info}/PKG-INFO +17 -1
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/LICENSE +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/setup.cfg +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/belief.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/certainty.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/py.typed +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/recovery.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/session.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/epistemic/trace.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/__main__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/runner.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/tools.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/approvals.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/architect.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/auditor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/auth.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/block_export.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/channel.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/cli.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/commands/issues_policy.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/commands/reporting.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/compressor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/config.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/context_window.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/credits.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/dashboard.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/differ.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/doctor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/drive.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/editor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/esdb/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/esdb/_license.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/esdb/bridge.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/esdb/sqlite_store.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/executor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/exporter.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/governance_logic.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/governed_pr.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/history_search.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/importer.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/instinct.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/codity.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/languages.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/ledger.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/mcp_server.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/patent.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/paths.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/phase.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/plugins.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/policy.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/profiles.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/recover.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/releaser.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/requirements.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/risk.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/serve.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/session.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/session_init.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/session_store.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/ai_agents.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/data_engineering.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/governance.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/platform_engineering.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/software_engineering.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/specsmith_skills.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/web_backend.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/sync.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/tools.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/trace.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/transcripts.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/updater.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/validator.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/wi_store.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/workspace.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_CMD_001.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_agent_run_feedback.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_ai_client.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_architecture.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_auditor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_channel.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_cli.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_cli_regressions.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_compliance.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_compliance_governance.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_compressor.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_dispatch.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_epistemic.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_esdb_enforcement.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_esdb_license.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_esdb_sqlite.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_esdb_verify_chain_cli.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_golden_path.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_importer.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_init_modes.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_integrations.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_intelligence.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_issue_policy_features.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_mcp_client.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_mcp_server.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_new_modules.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_nexus.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_permissions.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_rate_limits.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_reporting_commands.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_req_248_262.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_req_358_359.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_scaffolder.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_schema_migrations.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_smoke.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_suggester.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_tools.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_typing_guardrails.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_validator.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_vcs.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_warp_parity.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_warp_parity_followup.py +0 -0
- {specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/tests/test_wi_lifecycle.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.16.0.
|
|
3
|
+
Version: 0.16.0.dev599
|
|
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
|
|
@@ -110,6 +110,22 @@ flowchart LR
|
|
|
110
110
|
- **Aider / Claude Code / Cursor:** agentic coding interfaces; SpecSmith is the policy and evidence layer around these clients.
|
|
111
111
|
- **LangGraph / AutoGen:** orchestration frameworks; SpecSmith is a governance-first development layer with compliance-oriented traceability.
|
|
112
112
|
|
|
113
|
+
### Governance efficiency benchmark
|
|
114
|
+
|
|
115
|
+
We ran a [multi-condition benchmark](https://specsmith.readthedocs.io/en/stable/efficiency-benchmark/) comparing specsmith governance against 11 alternatives (ungoverned, BMAD, Cursor rules, Copilot, Aider, Cline, Codex CLI, OpenSpec, Agile BDD/TDD, and context injection) across real coding tasks with gpt-4o-mini and gpt-5.5.
|
|
116
|
+
|
|
117
|
+
| Condition | Pass Rate | Mean Tokens | Cost/run | Cost-of-Pass |
|
|
118
|
+
|---|---|---|---|---|
|
|
119
|
+
| Ungoverned (raw agent) | 0% on T1 | 44.6k | $0.0079 | ∞ |
|
|
120
|
+
| Context injection (CLAUDE.md) | 100% | 43.7k | $0.0084 | $0.0084 |
|
|
121
|
+
| BMAD-style structured prompting | 50% | 139.1k | $0.0262 | $0.0523 |
|
|
122
|
+
| **specsmith LIGHT (preflight)** | **100%** | **21.1k** | **$0.0032** | **$0.0032** |
|
|
123
|
+
| **specsmith FULL (governed)** | **100%** | **17.1k** | **$0.0026** | **$0.0026** |
|
|
124
|
+
|
|
125
|
+
**Key findings:** specsmith FULL is the only condition to achieve 100% pass rate on the feature-addition task (T1). It uses 2.6× fewer tokens than ungoverned and produces a cost-of-pass 3.2× lower than the next-best alternative. With gpt-5.5, governance reduces cost-of-pass by **6.3×** ($0.028 vs $0.179).
|
|
126
|
+
|
|
127
|
+
See the [full benchmark report](https://specsmith.readthedocs.io/en/stable/efficiency-benchmark/) and [model comparison (gpt-4o-mini vs gpt-5.5)](https://specsmith.readthedocs.io/en/stable/model-comparison/).
|
|
128
|
+
|
|
113
129
|
**v0.16.0 — stabilisation milestone:** 20+ new CLI commands (quickstart, expand, verify-integrations, governed-pr, transcript import, policy, recover, dashboard, drift-check, trace score, export/import, approve); new governance modules; ESDB SQLite backend with full test coverage; chronomemory 0.2.0 with all phases complete; Python 3.10–3.13 × Ubuntu + Windows all green; 1 607 tests passing.
|
|
114
130
|
specsmith ships a full compliance and auditability layer aligned to the EU AI Act (2024/1689)
|
|
115
131
|
and the NIST AI Risk Management Framework 1.0. Every agent action is cryptographically sealed,
|
|
@@ -32,6 +32,22 @@ flowchart LR
|
|
|
32
32
|
- **Aider / Claude Code / Cursor:** agentic coding interfaces; SpecSmith is the policy and evidence layer around these clients.
|
|
33
33
|
- **LangGraph / AutoGen:** orchestration frameworks; SpecSmith is a governance-first development layer with compliance-oriented traceability.
|
|
34
34
|
|
|
35
|
+
### Governance efficiency benchmark
|
|
36
|
+
|
|
37
|
+
We ran a [multi-condition benchmark](https://specsmith.readthedocs.io/en/stable/efficiency-benchmark/) comparing specsmith governance against 11 alternatives (ungoverned, BMAD, Cursor rules, Copilot, Aider, Cline, Codex CLI, OpenSpec, Agile BDD/TDD, and context injection) across real coding tasks with gpt-4o-mini and gpt-5.5.
|
|
38
|
+
|
|
39
|
+
| Condition | Pass Rate | Mean Tokens | Cost/run | Cost-of-Pass |
|
|
40
|
+
|---|---|---|---|---|
|
|
41
|
+
| Ungoverned (raw agent) | 0% on T1 | 44.6k | $0.0079 | ∞ |
|
|
42
|
+
| Context injection (CLAUDE.md) | 100% | 43.7k | $0.0084 | $0.0084 |
|
|
43
|
+
| BMAD-style structured prompting | 50% | 139.1k | $0.0262 | $0.0523 |
|
|
44
|
+
| **specsmith LIGHT (preflight)** | **100%** | **21.1k** | **$0.0032** | **$0.0032** |
|
|
45
|
+
| **specsmith FULL (governed)** | **100%** | **17.1k** | **$0.0026** | **$0.0026** |
|
|
46
|
+
|
|
47
|
+
**Key findings:** specsmith FULL is the only condition to achieve 100% pass rate on the feature-addition task (T1). It uses 2.6× fewer tokens than ungoverned and produces a cost-of-pass 3.2× lower than the next-best alternative. With gpt-5.5, governance reduces cost-of-pass by **6.3×** ($0.028 vs $0.179).
|
|
48
|
+
|
|
49
|
+
See the [full benchmark report](https://specsmith.readthedocs.io/en/stable/efficiency-benchmark/) and [model comparison (gpt-4o-mini vs gpt-5.5)](https://specsmith.readthedocs.io/en/stable/model-comparison/).
|
|
50
|
+
|
|
35
51
|
**v0.16.0 — stabilisation milestone:** 20+ new CLI commands (quickstart, expand, verify-integrations, governed-pr, transcript import, policy, recover, dashboard, drift-check, trace score, export/import, approve); new governance modules; ESDB SQLite backend with full test coverage; chronomemory 0.2.0 with all phases complete; Python 3.10–3.13 × Ubuntu + Windows all green; 1 607 tests passing.
|
|
36
52
|
specsmith ships a full compliance and auditability layer aligned to the EU AI Act (2024/1689)
|
|
37
53
|
and the NIST AI Risk Management Framework 1.0. Every agent action is cryptographically sealed,
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.16.0.
|
|
7
|
+
version = "0.16.0.dev599"
|
|
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"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.16.0.
|
|
3
|
+
Version: 0.16.0.dev599
|
|
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
|
|
@@ -110,6 +110,22 @@ flowchart LR
|
|
|
110
110
|
- **Aider / Claude Code / Cursor:** agentic coding interfaces; SpecSmith is the policy and evidence layer around these clients.
|
|
111
111
|
- **LangGraph / AutoGen:** orchestration frameworks; SpecSmith is a governance-first development layer with compliance-oriented traceability.
|
|
112
112
|
|
|
113
|
+
### Governance efficiency benchmark
|
|
114
|
+
|
|
115
|
+
We ran a [multi-condition benchmark](https://specsmith.readthedocs.io/en/stable/efficiency-benchmark/) comparing specsmith governance against 11 alternatives (ungoverned, BMAD, Cursor rules, Copilot, Aider, Cline, Codex CLI, OpenSpec, Agile BDD/TDD, and context injection) across real coding tasks with gpt-4o-mini and gpt-5.5.
|
|
116
|
+
|
|
117
|
+
| Condition | Pass Rate | Mean Tokens | Cost/run | Cost-of-Pass |
|
|
118
|
+
|---|---|---|---|---|
|
|
119
|
+
| Ungoverned (raw agent) | 0% on T1 | 44.6k | $0.0079 | ∞ |
|
|
120
|
+
| Context injection (CLAUDE.md) | 100% | 43.7k | $0.0084 | $0.0084 |
|
|
121
|
+
| BMAD-style structured prompting | 50% | 139.1k | $0.0262 | $0.0523 |
|
|
122
|
+
| **specsmith LIGHT (preflight)** | **100%** | **21.1k** | **$0.0032** | **$0.0032** |
|
|
123
|
+
| **specsmith FULL (governed)** | **100%** | **17.1k** | **$0.0026** | **$0.0026** |
|
|
124
|
+
|
|
125
|
+
**Key findings:** specsmith FULL is the only condition to achieve 100% pass rate on the feature-addition task (T1). It uses 2.6× fewer tokens than ungoverned and produces a cost-of-pass 3.2× lower than the next-best alternative. With gpt-5.5, governance reduces cost-of-pass by **6.3×** ($0.028 vs $0.179).
|
|
126
|
+
|
|
127
|
+
See the [full benchmark report](https://specsmith.readthedocs.io/en/stable/efficiency-benchmark/) and [model comparison (gpt-4o-mini vs gpt-5.5)](https://specsmith.readthedocs.io/en/stable/model-comparison/).
|
|
128
|
+
|
|
113
129
|
**v0.16.0 — stabilisation milestone:** 20+ new CLI commands (quickstart, expand, verify-integrations, governed-pr, transcript import, policy, recover, dashboard, drift-check, trace score, export/import, approve); new governance modules; ESDB SQLite backend with full test coverage; chronomemory 0.2.0 with all phases complete; Python 3.10–3.13 × Ubuntu + Windows all green; 1 607 tests passing.
|
|
114
130
|
specsmith ships a full compliance and auditability layer aligned to the EU AI Act (2024/1689)
|
|
115
131
|
and the NIST AI Risk Management Framework 1.0. Every agent action is cryptographically sealed,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/dispatch/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/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.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/agent/model_intelligence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/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.16.0.dev593 → specsmith-0.16.0.dev599}/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.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/epistemic/failure_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/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
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/provider_bar.py
RENAMED
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/gui/widgets/token_meter.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/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.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/agent_skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/integrations/claude_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m001_governance_yaml.py
RENAMED
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m002_agents_slim.py
RENAMED
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m003_compliance_init.py
RENAMED
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m004_ledger_esdb.py
RENAMED
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/migrations/m005_agent_run_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/data_engineering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/platform_engineering.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/software_engineering.py
RENAMED
|
File without changes
|
{specsmith-0.16.0.dev593 → specsmith-0.16.0.dev599}/src/specsmith/skills/specsmith_skills.py
RENAMED
|
File without changes
|
|
File without changes
|