specsmith 0.15.3.dev567__tar.gz → 0.15.3.dev570__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.15.3.dev567/src/specsmith.egg-info → specsmith-0.15.3.dev570}/PKG-INFO +8 -1
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/README.md +7 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/pyproject.toml +1 -1
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/codity.py +15 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/governance.py +15 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/gitignore.j2 +28 -2
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570/src/specsmith.egg-info}/PKG-INFO +8 -1
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_scaffolder.py +10 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/LICENSE +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/setup.cfg +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/belief.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/certainty.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/py.typed +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/recovery.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/session.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/epistemic/trace.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/__main__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/runner.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/tools.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/architect.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/auditor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/auth.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/block_export.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/channel.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/cli.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/compressor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/config.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/context_window.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/credits.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/differ.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/doctor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/drive.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/editor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/esdb/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/esdb/_license.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/esdb/bridge.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/esdb/sqlite_store.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/executor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/exporter.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/governance_logic.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/history_search.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/importer.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/instinct.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/languages.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/ledger.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/mcp_server.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/patent.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/paths.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/phase.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/plugins.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/profiles.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/releaser.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/requirements.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/serve.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/session.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/session_init.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/session_store.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/ai_agents.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/data_engineering.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/platform_engineering.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/software_engineering.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/specsmith_skills.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills/web_backend.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/sync.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/tools.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/trace.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/updater.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/validator.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/wi_store.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/workspace.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_CMD_001.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_agent_run_feedback.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_ai_client.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_auditor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_channel.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_cli.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_compliance.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_compliance_governance.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_compressor.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_dispatch.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_epistemic.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_esdb_license.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_esdb_sqlite.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_importer.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_integrations.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_intelligence.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_mcp_client.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_mcp_server.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_new_modules.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_nexus.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_permissions.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_rate_limits.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_req_248_262.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_req_358_359.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_smoke.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_suggester.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_tools.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_validator.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_vcs.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_warp_parity.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_warp_parity_followup.py +0 -0
- {specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/tests/test_wi_lifecycle.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.15.3.
|
|
3
|
+
Version: 0.15.3.dev570
|
|
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
|
|
@@ -231,6 +231,11 @@ No additional packages, no license key, no configuration — it works out of the
|
|
|
231
231
|
specsmith esdb status # shows: SQLite (free, MIT) — active by default
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
+
**ESDB version-control policy (this repository):**
|
|
235
|
+
- Commit canonical SQLite state file: `.specsmith/esdb.sqlite3`.
|
|
236
|
+
- Commit canonical ChronoMemory state files: `.chronomemory/events.wal` and `.chronomemory/snapshot.json`.
|
|
237
|
+
- Do not commit ChronoMemory timestamped backup copies under `.chronomemory/backup/` (regenerated by `specsmith save` / `specsmith esdb backup`).
|
|
238
|
+
|
|
234
239
|
**Upgrading to chronomemory ChronoStore (commercial):**
|
|
235
240
|
|
|
236
241
|
If you hold a chronomemory ESDB license, activate the commercial backend:
|
|
@@ -1048,6 +1053,8 @@ This generates:
|
|
|
1048
1053
|
- `docs/codity-setup.md` — one-time setup checklist
|
|
1049
1054
|
- Appends a TODO checklist to `LEDGER.md`
|
|
1050
1055
|
|
|
1056
|
+
**Windows note:** Codity's `install.sh` is Linux/macOS only. For native PowerShell use, install `codity.exe` from the official `codity-ai/codity-cli` GitHub release zip and place it on PATH (for example `~/.local/bin`).
|
|
1057
|
+
|
|
1051
1058
|
**AGENTS.md rule (REQ-355):** Projects with Codity configured SHOULD run `codity review --staged` before any commit touching production code. HIGH-severity findings are blocking; MEDIUM findings require inline acknowledgement.
|
|
1052
1059
|
|
|
1053
1060
|
See the `codity-ai-review` governance skill (`specsmith skill install codity-ai-review`) for the full CLI workflow reference.
|
|
@@ -153,6 +153,11 @@ No additional packages, no license key, no configuration — it works out of the
|
|
|
153
153
|
specsmith esdb status # shows: SQLite (free, MIT) — active by default
|
|
154
154
|
```
|
|
155
155
|
|
|
156
|
+
**ESDB version-control policy (this repository):**
|
|
157
|
+
- Commit canonical SQLite state file: `.specsmith/esdb.sqlite3`.
|
|
158
|
+
- Commit canonical ChronoMemory state files: `.chronomemory/events.wal` and `.chronomemory/snapshot.json`.
|
|
159
|
+
- Do not commit ChronoMemory timestamped backup copies under `.chronomemory/backup/` (regenerated by `specsmith save` / `specsmith esdb backup`).
|
|
160
|
+
|
|
156
161
|
**Upgrading to chronomemory ChronoStore (commercial):**
|
|
157
162
|
|
|
158
163
|
If you hold a chronomemory ESDB license, activate the commercial backend:
|
|
@@ -970,6 +975,8 @@ This generates:
|
|
|
970
975
|
- `docs/codity-setup.md` — one-time setup checklist
|
|
971
976
|
- Appends a TODO checklist to `LEDGER.md`
|
|
972
977
|
|
|
978
|
+
**Windows note:** Codity's `install.sh` is Linux/macOS only. For native PowerShell use, install `codity.exe` from the official `codity-ai/codity-cli` GitHub release zip and place it on PATH (for example `~/.local/bin`).
|
|
979
|
+
|
|
973
980
|
**AGENTS.md rule (REQ-355):** Projects with Codity configured SHOULD run `codity review --staged` before any commit touching production code. HIGH-severity findings are blocking; MEDIUM findings require inline acknowledgement.
|
|
974
981
|
|
|
975
982
|
See the `codity-ai-review` governance skill (`specsmith skill install codity-ai-review`) for the full CLI workflow reference.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.15.3.
|
|
7
|
+
version = "0.15.3.dev570"
|
|
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"
|
|
@@ -229,6 +229,21 @@ steps:
|
|
|
229
229
|
```bash
|
|
230
230
|
curl -fsSL https://cli.codity.ai/install.sh | sh
|
|
231
231
|
```
|
|
232
|
+
Native Windows (PowerShell) is also supported via GitHub Releases
|
|
233
|
+
(`codity-ai/codity-cli`), because the shell installer is Linux/macOS only:
|
|
234
|
+
```powershell
|
|
235
|
+
# No official winget/scoop/choco package currently.
|
|
236
|
+
$release = Invoke-RestMethod -Uri "https://api.github.com/repos/codity-ai/codity-cli/releases/latest"
|
|
237
|
+
$version = $release.tag_name.TrimStart("v")
|
|
238
|
+
$assetName = "codity_" + $version + "_windows_amd64.zip"
|
|
239
|
+
$asset = $release.assets | Where-Object {{ $_.name -eq $assetName }} | Select-Object -First 1
|
|
240
|
+
$zip = Join-Path $env:TEMP $asset.name
|
|
241
|
+
$tmp = Join-Path $env:TEMP ("codity-install-" + [guid]::NewGuid().ToString())
|
|
242
|
+
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $zip
|
|
243
|
+
Expand-Archive -Path $zip -DestinationPath $tmp -Force
|
|
244
|
+
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\\.local\\bin" | Out-Null
|
|
245
|
+
Copy-Item (Join-Path $tmp "codity.exe") "$env:USERPROFILE\\.local\\bin\\codity.exe" -Force
|
|
246
|
+
```
|
|
232
247
|
|
|
233
248
|
2. Authenticate:
|
|
234
249
|
```bash
|
|
@@ -1127,9 +1127,24 @@ generation that runs against staged changes (`--staged`) before every commit
|
|
|
1127
1127
|
that touches production code.
|
|
1128
1128
|
|
|
1129
1129
|
## Installation
|
|
1130
|
+
Linux/macOS:
|
|
1130
1131
|
```bash
|
|
1131
1132
|
curl -fsSL https://cli.codity.ai/install.sh | sh
|
|
1132
1133
|
```
|
|
1134
|
+
Native Windows (PowerShell):
|
|
1135
|
+
```powershell
|
|
1136
|
+
# No official winget/scoop/choco package currently.
|
|
1137
|
+
$release = Invoke-RestMethod -Uri "https://api.github.com/repos/codity-ai/codity-cli/releases/latest"
|
|
1138
|
+
$version = $release.tag_name.TrimStart("v")
|
|
1139
|
+
$asset = $release.assets | Where-Object { $_.name -eq "codity_${version}_windows_amd64.zip" } | Select-Object -First 1
|
|
1140
|
+
$zip = Join-Path $env:TEMP $asset.name
|
|
1141
|
+
$tmp = Join-Path $env:TEMP ("codity-install-" + [guid]::NewGuid().ToString())
|
|
1142
|
+
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $zip
|
|
1143
|
+
Expand-Archive -Path $zip -DestinationPath $tmp -Force
|
|
1144
|
+
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\\.local\\bin" | Out-Null
|
|
1145
|
+
Copy-Item (Join-Path $tmp "codity.exe") "$env:USERPROFILE\\.local\\bin\\codity.exe" -Force
|
|
1146
|
+
```
|
|
1147
|
+
Verify with `codity doctor`.
|
|
1133
1148
|
|
|
1134
1149
|
## Authentication
|
|
1135
1150
|
```bash
|
|
@@ -37,8 +37,34 @@ htmlcov/
|
|
|
37
37
|
.work/
|
|
38
38
|
*.log
|
|
39
39
|
|
|
40
|
-
# specsmith
|
|
41
|
-
|
|
40
|
+
# specsmith governance data policy
|
|
41
|
+
# Keep committed:
|
|
42
|
+
# - .specsmith/config.yml
|
|
43
|
+
# - .specsmith/requirements.json
|
|
44
|
+
# - .specsmith/testcases.json
|
|
45
|
+
# - .specsmith/esdb.sqlite3
|
|
46
|
+
# - .chronomemory/events.wal
|
|
47
|
+
# - .chronomemory/snapshot.json
|
|
48
|
+
#
|
|
49
|
+
# Ignore runtime-only / regeneratable artifacts:
|
|
50
|
+
.chronomemory/backup/
|
|
51
|
+
.specsmith/workitems.json
|
|
52
|
+
.specsmith/runs/
|
|
53
|
+
.specsmith/chat/
|
|
54
|
+
.specsmith/perf/
|
|
55
|
+
.specsmith/recovery/
|
|
56
|
+
.specsmith/ledger.jsonl
|
|
57
|
+
.specsmith/ledger-chain.txt
|
|
58
|
+
.specsmith/trace.jsonl
|
|
59
|
+
.specsmith/credit-budget.json
|
|
60
|
+
.specsmith/credits.json
|
|
61
|
+
.specsmith/model-rate-limits.json
|
|
62
|
+
.specsmith/pids/
|
|
63
|
+
.specsmith/logs/
|
|
64
|
+
.specsmith/sessions/
|
|
65
|
+
.specsmith/agent-reports/
|
|
66
|
+
.specsmith/dispatch/
|
|
67
|
+
.specsmith/esdb_migration_manifest.json
|
|
42
68
|
{% if project.type in ('cli-rust', 'library-rust') %}
|
|
43
69
|
|
|
44
70
|
# Rust
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.15.3.
|
|
3
|
+
Version: 0.15.3.dev570
|
|
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
|
|
@@ -231,6 +231,11 @@ No additional packages, no license key, no configuration — it works out of the
|
|
|
231
231
|
specsmith esdb status # shows: SQLite (free, MIT) — active by default
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
+
**ESDB version-control policy (this repository):**
|
|
235
|
+
- Commit canonical SQLite state file: `.specsmith/esdb.sqlite3`.
|
|
236
|
+
- Commit canonical ChronoMemory state files: `.chronomemory/events.wal` and `.chronomemory/snapshot.json`.
|
|
237
|
+
- Do not commit ChronoMemory timestamped backup copies under `.chronomemory/backup/` (regenerated by `specsmith save` / `specsmith esdb backup`).
|
|
238
|
+
|
|
234
239
|
**Upgrading to chronomemory ChronoStore (commercial):**
|
|
235
240
|
|
|
236
241
|
If you hold a chronomemory ESDB license, activate the commercial backend:
|
|
@@ -1048,6 +1053,8 @@ This generates:
|
|
|
1048
1053
|
- `docs/codity-setup.md` — one-time setup checklist
|
|
1049
1054
|
- Appends a TODO checklist to `LEDGER.md`
|
|
1050
1055
|
|
|
1056
|
+
**Windows note:** Codity's `install.sh` is Linux/macOS only. For native PowerShell use, install `codity.exe` from the official `codity-ai/codity-cli` GitHub release zip and place it on PATH (for example `~/.local/bin`).
|
|
1057
|
+
|
|
1051
1058
|
**AGENTS.md rule (REQ-355):** Projects with Codity configured SHOULD run `codity review --staged` before any commit touching production code. HIGH-severity findings are blocking; MEDIUM findings require inline acknowledgement.
|
|
1052
1059
|
|
|
1053
1060
|
See the `codity-ai-review` governance skill (`specsmith skill install codity-ai-review`) for the full CLI workflow reference.
|
|
@@ -86,6 +86,16 @@ class TestScaffoldCLIPython:
|
|
|
86
86
|
files = scaffold_project(cfg, tmp_target)
|
|
87
87
|
assert len(files) >= 25 # baseline for cli-python type
|
|
88
88
|
|
|
89
|
+
def test_gitignore_tracks_canonical_esdb_files(self, tmp_target: Path) -> None:
|
|
90
|
+
cfg = _make_config(ProjectType.CLI_PYTHON)
|
|
91
|
+
scaffold_project(cfg, tmp_target)
|
|
92
|
+
content = (tmp_target / ".gitignore").read_text(encoding="utf-8")
|
|
93
|
+
assert ".chronomemory/backup/" in content
|
|
94
|
+
assert ".specsmith/workitems.json" in content
|
|
95
|
+
assert ".specsmith/esdb_migration_manifest.json" in content
|
|
96
|
+
assert "\n.specsmith/\n" not in content
|
|
97
|
+
assert "\n.chronomemory/\n" not in content
|
|
98
|
+
|
|
89
99
|
|
|
90
100
|
class TestScaffoldFPGA:
|
|
91
101
|
"""Tests for FPGA/RTL project type."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/dispatch/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/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.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/agent/model_intelligence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/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
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/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.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/failure_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/epistemic/stress_tester.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/provider_bar.py
RENAMED
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/gui/widgets/token_meter.py
RENAMED
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/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.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/integrations/agent_skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/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
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m001_governance_yaml.py
RENAMED
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m002_agents_slim.py
RENAMED
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m003_compliance_init.py
RENAMED
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/src/specsmith/migrations/m004_ledger_esdb.py
RENAMED
|
File without changes
|
{specsmith-0.15.3.dev567 → specsmith-0.15.3.dev570}/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
|