specsmith 0.11.4.dev443__tar.gz → 0.11.5__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.11.4.dev443/src/specsmith.egg-info → specsmith-0.11.5}/PKG-INFO +30 -27
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/README.md +29 -26
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/pyproject.toml +1 -1
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/__init__.py +1 -1
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/governance_logic.py +23 -19
- {specsmith-0.11.4.dev443 → specsmith-0.11.5/src/specsmith.egg-info}/PKG-INFO +30 -27
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/LICENSE +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/setup.cfg +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/belief.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/certainty.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/failure_graph.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/py.typed +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/recovery.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/session.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/stress_tester.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/epistemic/trace.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/__main__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/broker.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/chat_runner.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/cleanup.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/context_seed.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/core.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/dispatch/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/dispatch/_status.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/dispatch/dag.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/dispatch/dispatcher.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/dispatch/events.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/dispatch/result.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/endpoints.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/events.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/execution_profiles.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/fallback.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/hf_leaderboard.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/hf_sync.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/indexer.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/llm_client.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/mcp.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/memory.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/model_intelligence.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/model_profiles.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/orchestrator.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/permissions.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/profiles.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/provider_registry.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/repl.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/router.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/rules.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/runner.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/safety.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/spawner.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/suggester.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/teams.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/tools.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/verifier.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/agent/voice.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/architect.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/auditor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/auth.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/block_export.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/channel.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/ci_manager.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/cli.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/commands/intelligence.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compliance/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compliance/_compat.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compliance/checker.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compliance/evidence.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compliance/regulations.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compliance/reporter.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/compressor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/config.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/console_utils.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/context_orchestrator.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/context_window.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/credits.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/base.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/citations.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/fpd.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/odp.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/patentsview.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/pfw.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/ppubs.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/datasources/ptab.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/differ.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/doctor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/drive.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/editor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/epistemic/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/epistemic/belief.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/epistemic/certainty.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/epistemic/failure_graph.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/epistemic/recovery.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/epistemic/stress_tester.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/esdb/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/esdb/bridge.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/eval/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/eval/builtins.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/eval/runner.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/executor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/exporter.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/governance_store.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/governance_yaml.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/app.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/main_window.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/session_tab.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/theme.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/chat_view.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/input_bar.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/provider_bar.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/token_meter.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/tool_panel.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/widgets/update_checker.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/gui/worker.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/history_search.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/importer.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/instinct.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/agent_skill.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/codity.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/issue_reporter.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/languages.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/ledger.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/mcp_generator.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/m001_governance_yaml.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/m002_agents_slim.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/m003_compliance_init.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/m004_ledger_esdb.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/m005_agent_run_tool.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/m006_session_governance.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/migrations/runner.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/ollama_cmds.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/patent.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/paths.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/phase.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/plugins.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/profiles.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/releaser.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/requirements.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/requirements_parser.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/retrieval.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/safe_write.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/scaffolder.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/serve.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/session.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/session_init.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/session_store.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/cloud.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/corporate.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/cross_platform.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/devops.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/docs.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/embedded.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/governance.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/hardware.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/mobile.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/productivity.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills/ssh.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/skills_builder.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/sync.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/agents.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/lifecycle.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/rules.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/session-protocol.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/tool_installer.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/toolrules.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/tools.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/trace.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/updater.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/validator.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/wireframes.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith/workspace.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith.egg-info/SOURCES.txt +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith.egg-info/requires.txt +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/src/specsmith.egg-info/top_level.txt +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_CMD_001.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_agent_profiles.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_agent_runner_ready.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_ai_client.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_ai_intelligence.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_auditor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_channel.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_chat_diff_decision.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_chat_runner_openai_compat.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_chat_stdin_protocol.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_cli.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_cli_workflows_history_drive.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_compliance.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_compressor.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_dispatch.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_e2e_nexus.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_endpoints_cli.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_endpoints_store.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_epistemic.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_fallback_chain.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_importer.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_integrations.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_integrations_codity.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_intelligence.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_issue_reporter.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_mcp_client.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_new_modules.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_nexus.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_permissions.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_phase1_4_new.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_phase34_completion.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_rate_limits.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_req_248_262.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_scaffolder.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_skill_marketplace.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_skills_mcp.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_smoke.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_suggester.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_tools.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_validator.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_vcs.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_warp_parity.py +0 -0
- {specsmith-0.11.4.dev443 → specsmith-0.11.5}/tests/test_warp_parity_followup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.5
|
|
4
4
|
Summary: Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands.
|
|
5
5
|
Author: BitConcepts
|
|
6
6
|
License-Expression: MIT
|
|
@@ -87,8 +87,8 @@ specsmith treats belief systems like code: codable, testable, and deployable. It
|
|
|
87
87
|
epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
|
|
88
88
|
cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
|
|
89
89
|
|
|
90
|
-
**
|
|
91
|
-
Specsmith
|
|
90
|
+
**v0.11.4 — Codity.ai AI code review integration, 70 built-in skills, EU AI Act / NIST AI RMF compliance, context window management, and governance tools panel.**
|
|
91
|
+
Specsmith ships a full compliance and auditability layer aligned to the EU AI Act (2024/1689)
|
|
92
92
|
and the NIST AI Risk Management Framework 1.0. Every agent action is cryptographically sealed,
|
|
93
93
|
every AI-generated output is disclosed, context windows are GPU-aware and protected against
|
|
94
94
|
overflow, and a dedicated governance tools panel in Kairos surfaces compliance settings
|
|
@@ -240,12 +240,12 @@ specsmith phase --project-dir ./my-project
|
|
|
240
240
|
|
|
241
241
|
## Machine State Sync + YAML Governance
|
|
242
242
|
|
|
243
|
-
As of v0.
|
|
243
|
+
As of v0.11, specsmith uses **YAML-first governance**: `docs/requirements/*.yml`
|
|
244
244
|
and `docs/tests/*.yml` are the canonical sources. `REQUIREMENTS.md` and `TESTS.md`
|
|
245
245
|
are **generated artifacts** — do not hand-edit them.
|
|
246
246
|
|
|
247
247
|
```bash
|
|
248
|
-
# YAML-first pipeline (v0.
|
|
248
|
+
# YAML-first pipeline (v0.11+)
|
|
249
249
|
specsmith sync # YAML → .specsmith/*.json → docs/*.md (all in one)
|
|
250
250
|
specsmith generate docs # regenerate only the Markdown artifacts from YAML
|
|
251
251
|
specsmith generate docs --check # dry-run: report what would change
|
|
@@ -325,11 +325,11 @@ human oversight, and robustness. specsmith implements:
|
|
|
325
325
|
across the AI lifecycle. specsmith addresses all four core functions:
|
|
326
326
|
|
|
327
327
|
| NIST AI RMF Function | specsmith Mechanism |
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
328
|
+
|---|---|
|
|
329
|
+
| **GOVERN** — Policies & accountability | Governance rules (H1–H22), permissions profile, `scaffold.yml` policy |
|
|
330
|
+
| **MAP** — Risk identification | AEE stress-test, belief graph, contradictions and uncertainty metrics |
|
|
331
|
+
| **MEASURE** — Risk analysis | Confidence scoring, epistemic equilibrium, `specsmith epistemic-audit` |
|
|
332
|
+
| **MANAGE** — Risk treatment | Kill-switch, escalation, bounded retry, safe-write backup, permissions deny-list |
|
|
333
333
|
|
|
334
334
|
### How Each Compliance Mechanism Works
|
|
335
335
|
|
|
@@ -360,7 +360,7 @@ Every preflight response includes a mandatory `ai_disclosure` block:
|
|
|
360
360
|
"governance_gated": true,
|
|
361
361
|
"provider": "ollama",
|
|
362
362
|
"model": "qwen2.5:14b",
|
|
363
|
-
"spec_version": "0.11.
|
|
363
|
+
"spec_version": "0.11.4"
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
366
|
```
|
|
@@ -562,7 +562,6 @@ The Nexus broker:
|
|
|
562
562
|
- **Bounded retry**: failed actions retry up to 3× with strategy classification
|
|
563
563
|
- **Execution trace**: every action is sealed in the cryptographic trace vault
|
|
564
564
|
- **`/why` toggle**: shows governance rationale in human-readable form
|
|
565
|
-
```
|
|
566
565
|
|
|
567
566
|
**How it works.** A natural-language **broker** classifies intent, infers scope from
|
|
568
567
|
your requirements, and asks Specsmith to **preflight** the request. Only when the
|
|
@@ -755,7 +754,7 @@ result = run_vsg("rtl/top.vhd", rules="vsg_rules.yaml")
|
|
|
755
754
|
|
|
756
755
|
## Kairos — Flagship Terminal Client
|
|
757
756
|
|
|
758
|
-
**[Kairos](https://github.com/
|
|
757
|
+
**[Kairos](https://github.com/layer1labs/kairos)** is the recommended terminal client for specsmith.
|
|
759
758
|
Kairos spawns specsmith as a managed governance child process at startup and routes all
|
|
760
759
|
preflight, verify, and BYOE proxy calls through it. The Governance settings page shows live
|
|
761
760
|
specsmith status, version, and one-click update.
|
|
@@ -781,13 +780,13 @@ Use `pipx install specsmith` for standalone CLI usage from any terminal.
|
|
|
781
780
|
|
|
782
781
|
specsmith is open source and built by a small team. Every bit of support helps:
|
|
783
782
|
|
|
784
|
-
- ⭐ **Star** [specsmith](https://github.com/
|
|
783
|
+
- ⭐ **Star** [specsmith](https://github.com/layer1labs/specsmith) and [kairos](https://github.com/layer1labs/kairos) on GitHub
|
|
785
784
|
- 📣 **Tell your friends and colleagues** — word of mouth is our best marketing
|
|
786
|
-
- 🐛 **Report bugs** via [GitHub Issues](https://github.com/
|
|
787
|
-
- 💡 **Suggest features** via [GitHub Discussions](https://github.com/
|
|
785
|
+
- 🐛 **Report bugs** via [GitHub Issues](https://github.com/layer1labs/specsmith/issues) — even small ones help
|
|
786
|
+
- 💡 **Suggest features** via [GitHub Discussions](https://github.com/layer1labs/specsmith/discussions) — we read every suggestion
|
|
788
787
|
- 🔧 **Fix bugs and contribute** — see [CONTRIBUTING.md](CONTRIBUTING.md); PRs welcome
|
|
789
788
|
- 📝 **Write about specsmith** — blog posts, tutorials, and talks help the community grow
|
|
790
|
-
- ❤️ **[Sponsor
|
|
789
|
+
- ❤️ **[Sponsor layer1labs](https://github.com/sponsors/layer1labs)** — directly funds development
|
|
791
790
|
|
|
792
791
|
---
|
|
793
792
|
|
|
@@ -835,7 +834,7 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
835
834
|
|
|
836
835
|
**Governance:** `init` `import` `audit` `validate` `diff` `upgrade` `compress` `doctor` `export` `architect`
|
|
837
836
|
|
|
838
|
-
**AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log`
|
|
837
|
+
**AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log`
|
|
839
838
|
|
|
840
839
|
**Workflow:** `phase show/set/next/list` `ledger add/list` `req list/add/gaps/trace`
|
|
841
840
|
|
|
@@ -849,11 +848,13 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
849
848
|
|
|
850
849
|
**Workspace:** `workspace init/audit/export`
|
|
851
850
|
|
|
852
|
-
**
|
|
851
|
+
**Integrations:** `integrate codity` `integrate claude-code` `integrate cursor` `integrate copilot` `integrate aider` `integrate gemini` `integrate windsurf` `integrate agent-skill`
|
|
852
|
+
|
|
853
|
+
**VCS:** `commit` `push` `pull` `save` `load` `sync` `branch` `pr` `status` `checkpoint`
|
|
853
854
|
|
|
854
855
|
**Tools:** `tools scan [--fpga]` `tools install <tool>` `tools rules [--tool] [--list]`
|
|
855
856
|
|
|
856
|
-
**
|
|
857
|
+
**Session & Process:** `exec` `ps` `abort` `watch` `credits` `self-update` `kill-session` `session-end`
|
|
857
858
|
|
|
858
859
|
**Auth:** `auth set/list/remove/check`
|
|
859
860
|
|
|
@@ -861,15 +862,17 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
861
862
|
|
|
862
863
|
---
|
|
863
864
|
|
|
864
|
-
##
|
|
865
|
+
## 47 Project Types
|
|
866
|
+
|
|
867
|
+
**Software:** Python CLI/lib/web/API, Rust, Go, C/C++, .NET, Node.js/TypeScript, mobile, microservices, data/ML.
|
|
865
868
|
|
|
866
|
-
**
|
|
869
|
+
**Modern web:** `nextjs-app`, `nuxt-app`, `sveltekit-app`, `remix-app`, `astro-site`.
|
|
867
870
|
|
|
868
|
-
**Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C
|
|
871
|
+
**Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C++, PCB.
|
|
869
872
|
|
|
870
|
-
**Documents:** Technical specs, research papers, API specs, requirements management.
|
|
873
|
+
**Documents & IP:** Technical specs, research papers, API specs, requirements management, patent prosecution.
|
|
871
874
|
|
|
872
|
-
**Business/Legal:** Business plans, patent applications, compliance frameworks.
|
|
875
|
+
**Business/Legal:** Business plans, patent applications, compliance frameworks, legal compliance.
|
|
873
876
|
|
|
874
877
|
---
|
|
875
878
|
|
|
@@ -958,7 +961,7 @@ See the `codity-ai-review` governance skill (`specsmith skill install codity-ai-
|
|
|
958
961
|
|
|
959
962
|
specsmith governs itself — the specsmith repo is a specsmith-managed project. Run `specsmith audit`
|
|
960
963
|
in this repo to check its governance health. This means every feature we add to specsmith is
|
|
961
|
-
immediately dogfooded on specsmith itself. [Kairos](https://github.com/
|
|
964
|
+
immediately dogfooded on specsmith itself. [Kairos](https://github.com/layer1labs/kairos)
|
|
962
965
|
is the companion terminal and flagship client.
|
|
963
966
|
|
|
964
967
|
## Documentation
|
|
@@ -971,7 +974,7 @@ command reference, project types, tool registry, governance model, Ollama guide,
|
|
|
971
974
|
- [PyPI](https://pypi.org/project/specsmith/)
|
|
972
975
|
- [Documentation](https://specsmith.readthedocs.io)
|
|
973
976
|
- [Changelog](CHANGELOG.md)
|
|
974
|
-
- [Kairos terminal client](https://github.com/
|
|
977
|
+
- [Kairos terminal client](https://github.com/layer1labs/kairos)
|
|
975
978
|
- [Contributing](CONTRIBUTING.md)
|
|
976
979
|
- [Security](SECURITY.md)
|
|
977
980
|
|
|
@@ -15,8 +15,8 @@ specsmith treats belief systems like code: codable, testable, and deployable. It
|
|
|
15
15
|
epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
|
|
16
16
|
cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
|
|
17
17
|
|
|
18
|
-
**
|
|
19
|
-
Specsmith
|
|
18
|
+
**v0.11.4 — Codity.ai AI code review integration, 70 built-in skills, EU AI Act / NIST AI RMF compliance, context window management, and governance tools panel.**
|
|
19
|
+
Specsmith ships a full compliance and auditability layer aligned to the EU AI Act (2024/1689)
|
|
20
20
|
and the NIST AI Risk Management Framework 1.0. Every agent action is cryptographically sealed,
|
|
21
21
|
every AI-generated output is disclosed, context windows are GPU-aware and protected against
|
|
22
22
|
overflow, and a dedicated governance tools panel in Kairos surfaces compliance settings
|
|
@@ -168,12 +168,12 @@ specsmith phase --project-dir ./my-project
|
|
|
168
168
|
|
|
169
169
|
## Machine State Sync + YAML Governance
|
|
170
170
|
|
|
171
|
-
As of v0.
|
|
171
|
+
As of v0.11, specsmith uses **YAML-first governance**: `docs/requirements/*.yml`
|
|
172
172
|
and `docs/tests/*.yml` are the canonical sources. `REQUIREMENTS.md` and `TESTS.md`
|
|
173
173
|
are **generated artifacts** — do not hand-edit them.
|
|
174
174
|
|
|
175
175
|
```bash
|
|
176
|
-
# YAML-first pipeline (v0.
|
|
176
|
+
# YAML-first pipeline (v0.11+)
|
|
177
177
|
specsmith sync # YAML → .specsmith/*.json → docs/*.md (all in one)
|
|
178
178
|
specsmith generate docs # regenerate only the Markdown artifacts from YAML
|
|
179
179
|
specsmith generate docs --check # dry-run: report what would change
|
|
@@ -253,11 +253,11 @@ human oversight, and robustness. specsmith implements:
|
|
|
253
253
|
across the AI lifecycle. specsmith addresses all four core functions:
|
|
254
254
|
|
|
255
255
|
| NIST AI RMF Function | specsmith Mechanism |
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
256
|
+
|---|---|
|
|
257
|
+
| **GOVERN** — Policies & accountability | Governance rules (H1–H22), permissions profile, `scaffold.yml` policy |
|
|
258
|
+
| **MAP** — Risk identification | AEE stress-test, belief graph, contradictions and uncertainty metrics |
|
|
259
|
+
| **MEASURE** — Risk analysis | Confidence scoring, epistemic equilibrium, `specsmith epistemic-audit` |
|
|
260
|
+
| **MANAGE** — Risk treatment | Kill-switch, escalation, bounded retry, safe-write backup, permissions deny-list |
|
|
261
261
|
|
|
262
262
|
### How Each Compliance Mechanism Works
|
|
263
263
|
|
|
@@ -288,7 +288,7 @@ Every preflight response includes a mandatory `ai_disclosure` block:
|
|
|
288
288
|
"governance_gated": true,
|
|
289
289
|
"provider": "ollama",
|
|
290
290
|
"model": "qwen2.5:14b",
|
|
291
|
-
"spec_version": "0.11.
|
|
291
|
+
"spec_version": "0.11.4"
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
294
|
```
|
|
@@ -490,7 +490,6 @@ The Nexus broker:
|
|
|
490
490
|
- **Bounded retry**: failed actions retry up to 3× with strategy classification
|
|
491
491
|
- **Execution trace**: every action is sealed in the cryptographic trace vault
|
|
492
492
|
- **`/why` toggle**: shows governance rationale in human-readable form
|
|
493
|
-
```
|
|
494
493
|
|
|
495
494
|
**How it works.** A natural-language **broker** classifies intent, infers scope from
|
|
496
495
|
your requirements, and asks Specsmith to **preflight** the request. Only when the
|
|
@@ -683,7 +682,7 @@ result = run_vsg("rtl/top.vhd", rules="vsg_rules.yaml")
|
|
|
683
682
|
|
|
684
683
|
## Kairos — Flagship Terminal Client
|
|
685
684
|
|
|
686
|
-
**[Kairos](https://github.com/
|
|
685
|
+
**[Kairos](https://github.com/layer1labs/kairos)** is the recommended terminal client for specsmith.
|
|
687
686
|
Kairos spawns specsmith as a managed governance child process at startup and routes all
|
|
688
687
|
preflight, verify, and BYOE proxy calls through it. The Governance settings page shows live
|
|
689
688
|
specsmith status, version, and one-click update.
|
|
@@ -709,13 +708,13 @@ Use `pipx install specsmith` for standalone CLI usage from any terminal.
|
|
|
709
708
|
|
|
710
709
|
specsmith is open source and built by a small team. Every bit of support helps:
|
|
711
710
|
|
|
712
|
-
- ⭐ **Star** [specsmith](https://github.com/
|
|
711
|
+
- ⭐ **Star** [specsmith](https://github.com/layer1labs/specsmith) and [kairos](https://github.com/layer1labs/kairos) on GitHub
|
|
713
712
|
- 📣 **Tell your friends and colleagues** — word of mouth is our best marketing
|
|
714
|
-
- 🐛 **Report bugs** via [GitHub Issues](https://github.com/
|
|
715
|
-
- 💡 **Suggest features** via [GitHub Discussions](https://github.com/
|
|
713
|
+
- 🐛 **Report bugs** via [GitHub Issues](https://github.com/layer1labs/specsmith/issues) — even small ones help
|
|
714
|
+
- 💡 **Suggest features** via [GitHub Discussions](https://github.com/layer1labs/specsmith/discussions) — we read every suggestion
|
|
716
715
|
- 🔧 **Fix bugs and contribute** — see [CONTRIBUTING.md](CONTRIBUTING.md); PRs welcome
|
|
717
716
|
- 📝 **Write about specsmith** — blog posts, tutorials, and talks help the community grow
|
|
718
|
-
- ❤️ **[Sponsor
|
|
717
|
+
- ❤️ **[Sponsor layer1labs](https://github.com/sponsors/layer1labs)** — directly funds development
|
|
719
718
|
|
|
720
719
|
---
|
|
721
720
|
|
|
@@ -763,7 +762,7 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
763
762
|
|
|
764
763
|
**Governance:** `init` `import` `audit` `validate` `diff` `upgrade` `compress` `doctor` `export` `architect`
|
|
765
764
|
|
|
766
|
-
**AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log`
|
|
765
|
+
**AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log`
|
|
767
766
|
|
|
768
767
|
**Workflow:** `phase show/set/next/list` `ledger add/list` `req list/add/gaps/trace`
|
|
769
768
|
|
|
@@ -777,11 +776,13 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
777
776
|
|
|
778
777
|
**Workspace:** `workspace init/audit/export`
|
|
779
778
|
|
|
780
|
-
**
|
|
779
|
+
**Integrations:** `integrate codity` `integrate claude-code` `integrate cursor` `integrate copilot` `integrate aider` `integrate gemini` `integrate windsurf` `integrate agent-skill`
|
|
780
|
+
|
|
781
|
+
**VCS:** `commit` `push` `pull` `save` `load` `sync` `branch` `pr` `status` `checkpoint`
|
|
781
782
|
|
|
782
783
|
**Tools:** `tools scan [--fpga]` `tools install <tool>` `tools rules [--tool] [--list]`
|
|
783
784
|
|
|
784
|
-
**
|
|
785
|
+
**Session & Process:** `exec` `ps` `abort` `watch` `credits` `self-update` `kill-session` `session-end`
|
|
785
786
|
|
|
786
787
|
**Auth:** `auth set/list/remove/check`
|
|
787
788
|
|
|
@@ -789,15 +790,17 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
789
790
|
|
|
790
791
|
---
|
|
791
792
|
|
|
792
|
-
##
|
|
793
|
+
## 47 Project Types
|
|
794
|
+
|
|
795
|
+
**Software:** Python CLI/lib/web/API, Rust, Go, C/C++, .NET, Node.js/TypeScript, mobile, microservices, data/ML.
|
|
793
796
|
|
|
794
|
-
**
|
|
797
|
+
**Modern web:** `nextjs-app`, `nuxt-app`, `sveltekit-app`, `remix-app`, `astro-site`.
|
|
795
798
|
|
|
796
|
-
**Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C
|
|
799
|
+
**Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C++, PCB.
|
|
797
800
|
|
|
798
|
-
**Documents:** Technical specs, research papers, API specs, requirements management.
|
|
801
|
+
**Documents & IP:** Technical specs, research papers, API specs, requirements management, patent prosecution.
|
|
799
802
|
|
|
800
|
-
**Business/Legal:** Business plans, patent applications, compliance frameworks.
|
|
803
|
+
**Business/Legal:** Business plans, patent applications, compliance frameworks, legal compliance.
|
|
801
804
|
|
|
802
805
|
---
|
|
803
806
|
|
|
@@ -886,7 +889,7 @@ See the `codity-ai-review` governance skill (`specsmith skill install codity-ai-
|
|
|
886
889
|
|
|
887
890
|
specsmith governs itself — the specsmith repo is a specsmith-managed project. Run `specsmith audit`
|
|
888
891
|
in this repo to check its governance health. This means every feature we add to specsmith is
|
|
889
|
-
immediately dogfooded on specsmith itself. [Kairos](https://github.com/
|
|
892
|
+
immediately dogfooded on specsmith itself. [Kairos](https://github.com/layer1labs/kairos)
|
|
890
893
|
is the companion terminal and flagship client.
|
|
891
894
|
|
|
892
895
|
## Documentation
|
|
@@ -899,7 +902,7 @@ command reference, project types, tool registry, governance model, Ollama guide,
|
|
|
899
902
|
- [PyPI](https://pypi.org/project/specsmith/)
|
|
900
903
|
- [Documentation](https://specsmith.readthedocs.io)
|
|
901
904
|
- [Changelog](CHANGELOG.md)
|
|
902
|
-
- [Kairos terminal client](https://github.com/
|
|
905
|
+
- [Kairos terminal client](https://github.com/layer1labs/kairos)
|
|
903
906
|
- [Contributing](CONTRIBUTING.md)
|
|
904
907
|
- [Security](SECURITY.md)
|
|
905
908
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.11.
|
|
7
|
+
version = "0.11.5"
|
|
8
8
|
description = "Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -8,4 +8,4 @@ from importlib.metadata import version as _pkg_version
|
|
|
8
8
|
try:
|
|
9
9
|
__version__: str = _pkg_version("specsmith")
|
|
10
10
|
except PackageNotFoundError: # running from source without install
|
|
11
|
-
__version__ = "0.11.
|
|
11
|
+
__version__ = "0.11.5" # fallback: keep in sync with pyproject.toml
|
|
@@ -90,40 +90,44 @@ def run_preflight(
|
|
|
90
90
|
explicit_req_ids = [m.upper() for m in _EXPLICIT_REQ.findall(utterance)]
|
|
91
91
|
explicit_test_ids = [m.upper() for m in _EXPLICIT_TEST.findall(utterance)]
|
|
92
92
|
|
|
93
|
-
#
|
|
94
|
-
#
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if explicit_req_ids and os.path.isfile(_reqs_json_path):
|
|
93
|
+
# Read requirements machine-state inline so CodeQL can trace the full
|
|
94
|
+
# sanitisation chain from _safe_resolve → root → literal child path.
|
|
95
|
+
# (Helper functions with a root: Path parameter are analysed conservatively
|
|
96
|
+
# by CodeQL and can re-introduce py/path-injection alerts.)
|
|
97
|
+
rq_records: list[Any] = []
|
|
98
|
+
rq_path = (root / ".specsmith" / "requirements.json").resolve()
|
|
99
|
+
if rq_path.is_file():
|
|
102
100
|
try:
|
|
103
|
-
|
|
101
|
+
_rq = _json.loads(rq_path.read_text(encoding="utf-8"))
|
|
102
|
+
rq_records = _rq if isinstance(_rq, list) else []
|
|
104
103
|
except (OSError, ValueError):
|
|
105
104
|
rq_records = []
|
|
105
|
+
|
|
106
|
+
if explicit_req_ids:
|
|
106
107
|
known_req_ids = {r["id"] for r in rq_records if isinstance(r, dict) and r.get("id")}
|
|
107
108
|
for eid in explicit_req_ids:
|
|
108
109
|
if eid in known_req_ids and eid not in requirement_ids:
|
|
109
110
|
requirement_ids.append(eid)
|
|
110
111
|
|
|
111
|
-
#
|
|
112
|
+
# Read test-case machine-state inline (same rationale as above).
|
|
112
113
|
test_case_ids: list[str] = []
|
|
113
|
-
|
|
114
|
+
tc_records: list[Any] = []
|
|
115
|
+
tc_path = (root / ".specsmith" / "testcases.json").resolve()
|
|
116
|
+
if tc_path.is_file():
|
|
114
117
|
try:
|
|
115
|
-
|
|
118
|
+
_tc = _json.loads(tc_path.read_text(encoding="utf-8"))
|
|
119
|
+
tc_records = _tc if isinstance(_tc, list) else []
|
|
116
120
|
except (OSError, ValueError):
|
|
117
|
-
|
|
121
|
+
tc_records = []
|
|
122
|
+
|
|
123
|
+
if explicit_test_ids:
|
|
124
|
+
tc_explicit = tc_records
|
|
118
125
|
known_tc_ids = {r["id"] for r in tc_explicit if isinstance(r, dict) and r.get("id")}
|
|
119
126
|
for eid in explicit_test_ids:
|
|
120
127
|
if eid in known_tc_ids:
|
|
121
128
|
test_case_ids.append(eid)
|
|
122
|
-
if requirement_ids
|
|
123
|
-
|
|
124
|
-
records = _json.loads(Path(_tc_json_path).read_text(encoding="utf-8"))
|
|
125
|
-
except (OSError, ValueError):
|
|
126
|
-
records = []
|
|
129
|
+
if requirement_ids:
|
|
130
|
+
records = tc_records
|
|
127
131
|
req_set = set(requirement_ids)
|
|
128
132
|
for rec in records:
|
|
129
133
|
if (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.5
|
|
4
4
|
Summary: Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands.
|
|
5
5
|
Author: BitConcepts
|
|
6
6
|
License-Expression: MIT
|
|
@@ -87,8 +87,8 @@ specsmith treats belief systems like code: codable, testable, and deployable. It
|
|
|
87
87
|
epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
|
|
88
88
|
cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
|
|
89
89
|
|
|
90
|
-
**
|
|
91
|
-
Specsmith
|
|
90
|
+
**v0.11.4 — Codity.ai AI code review integration, 70 built-in skills, EU AI Act / NIST AI RMF compliance, context window management, and governance tools panel.**
|
|
91
|
+
Specsmith ships a full compliance and auditability layer aligned to the EU AI Act (2024/1689)
|
|
92
92
|
and the NIST AI Risk Management Framework 1.0. Every agent action is cryptographically sealed,
|
|
93
93
|
every AI-generated output is disclosed, context windows are GPU-aware and protected against
|
|
94
94
|
overflow, and a dedicated governance tools panel in Kairos surfaces compliance settings
|
|
@@ -240,12 +240,12 @@ specsmith phase --project-dir ./my-project
|
|
|
240
240
|
|
|
241
241
|
## Machine State Sync + YAML Governance
|
|
242
242
|
|
|
243
|
-
As of v0.
|
|
243
|
+
As of v0.11, specsmith uses **YAML-first governance**: `docs/requirements/*.yml`
|
|
244
244
|
and `docs/tests/*.yml` are the canonical sources. `REQUIREMENTS.md` and `TESTS.md`
|
|
245
245
|
are **generated artifacts** — do not hand-edit them.
|
|
246
246
|
|
|
247
247
|
```bash
|
|
248
|
-
# YAML-first pipeline (v0.
|
|
248
|
+
# YAML-first pipeline (v0.11+)
|
|
249
249
|
specsmith sync # YAML → .specsmith/*.json → docs/*.md (all in one)
|
|
250
250
|
specsmith generate docs # regenerate only the Markdown artifacts from YAML
|
|
251
251
|
specsmith generate docs --check # dry-run: report what would change
|
|
@@ -325,11 +325,11 @@ human oversight, and robustness. specsmith implements:
|
|
|
325
325
|
across the AI lifecycle. specsmith addresses all four core functions:
|
|
326
326
|
|
|
327
327
|
| NIST AI RMF Function | specsmith Mechanism |
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
328
|
+
|---|---|
|
|
329
|
+
| **GOVERN** — Policies & accountability | Governance rules (H1–H22), permissions profile, `scaffold.yml` policy |
|
|
330
|
+
| **MAP** — Risk identification | AEE stress-test, belief graph, contradictions and uncertainty metrics |
|
|
331
|
+
| **MEASURE** — Risk analysis | Confidence scoring, epistemic equilibrium, `specsmith epistemic-audit` |
|
|
332
|
+
| **MANAGE** — Risk treatment | Kill-switch, escalation, bounded retry, safe-write backup, permissions deny-list |
|
|
333
333
|
|
|
334
334
|
### How Each Compliance Mechanism Works
|
|
335
335
|
|
|
@@ -360,7 +360,7 @@ Every preflight response includes a mandatory `ai_disclosure` block:
|
|
|
360
360
|
"governance_gated": true,
|
|
361
361
|
"provider": "ollama",
|
|
362
362
|
"model": "qwen2.5:14b",
|
|
363
|
-
"spec_version": "0.11.
|
|
363
|
+
"spec_version": "0.11.4"
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
366
|
```
|
|
@@ -562,7 +562,6 @@ The Nexus broker:
|
|
|
562
562
|
- **Bounded retry**: failed actions retry up to 3× with strategy classification
|
|
563
563
|
- **Execution trace**: every action is sealed in the cryptographic trace vault
|
|
564
564
|
- **`/why` toggle**: shows governance rationale in human-readable form
|
|
565
|
-
```
|
|
566
565
|
|
|
567
566
|
**How it works.** A natural-language **broker** classifies intent, infers scope from
|
|
568
567
|
your requirements, and asks Specsmith to **preflight** the request. Only when the
|
|
@@ -755,7 +754,7 @@ result = run_vsg("rtl/top.vhd", rules="vsg_rules.yaml")
|
|
|
755
754
|
|
|
756
755
|
## Kairos — Flagship Terminal Client
|
|
757
756
|
|
|
758
|
-
**[Kairos](https://github.com/
|
|
757
|
+
**[Kairos](https://github.com/layer1labs/kairos)** is the recommended terminal client for specsmith.
|
|
759
758
|
Kairos spawns specsmith as a managed governance child process at startup and routes all
|
|
760
759
|
preflight, verify, and BYOE proxy calls through it. The Governance settings page shows live
|
|
761
760
|
specsmith status, version, and one-click update.
|
|
@@ -781,13 +780,13 @@ Use `pipx install specsmith` for standalone CLI usage from any terminal.
|
|
|
781
780
|
|
|
782
781
|
specsmith is open source and built by a small team. Every bit of support helps:
|
|
783
782
|
|
|
784
|
-
- ⭐ **Star** [specsmith](https://github.com/
|
|
783
|
+
- ⭐ **Star** [specsmith](https://github.com/layer1labs/specsmith) and [kairos](https://github.com/layer1labs/kairos) on GitHub
|
|
785
784
|
- 📣 **Tell your friends and colleagues** — word of mouth is our best marketing
|
|
786
|
-
- 🐛 **Report bugs** via [GitHub Issues](https://github.com/
|
|
787
|
-
- 💡 **Suggest features** via [GitHub Discussions](https://github.com/
|
|
785
|
+
- 🐛 **Report bugs** via [GitHub Issues](https://github.com/layer1labs/specsmith/issues) — even small ones help
|
|
786
|
+
- 💡 **Suggest features** via [GitHub Discussions](https://github.com/layer1labs/specsmith/discussions) — we read every suggestion
|
|
788
787
|
- 🔧 **Fix bugs and contribute** — see [CONTRIBUTING.md](CONTRIBUTING.md); PRs welcome
|
|
789
788
|
- 📝 **Write about specsmith** — blog posts, tutorials, and talks help the community grow
|
|
790
|
-
- ❤️ **[Sponsor
|
|
789
|
+
- ❤️ **[Sponsor layer1labs](https://github.com/sponsors/layer1labs)** — directly funds development
|
|
791
790
|
|
|
792
791
|
---
|
|
793
792
|
|
|
@@ -835,7 +834,7 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
835
834
|
|
|
836
835
|
**Governance:** `init` `import` `audit` `validate` `diff` `upgrade` `compress` `doctor` `export` `architect`
|
|
837
836
|
|
|
838
|
-
**AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log`
|
|
837
|
+
**AEE Epistemic:** `stress-test` `epistemic-audit` `belief-graph` `trace seal/verify/log`
|
|
839
838
|
|
|
840
839
|
**Workflow:** `phase show/set/next/list` `ledger add/list` `req list/add/gaps/trace`
|
|
841
840
|
|
|
@@ -849,11 +848,13 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
849
848
|
|
|
850
849
|
**Workspace:** `workspace init/audit/export`
|
|
851
850
|
|
|
852
|
-
**
|
|
851
|
+
**Integrations:** `integrate codity` `integrate claude-code` `integrate cursor` `integrate copilot` `integrate aider` `integrate gemini` `integrate windsurf` `integrate agent-skill`
|
|
852
|
+
|
|
853
|
+
**VCS:** `commit` `push` `pull` `save` `load` `sync` `branch` `pr` `status` `checkpoint`
|
|
853
854
|
|
|
854
855
|
**Tools:** `tools scan [--fpga]` `tools install <tool>` `tools rules [--tool] [--list]`
|
|
855
856
|
|
|
856
|
-
**
|
|
857
|
+
**Session & Process:** `exec` `ps` `abort` `watch` `credits` `self-update` `kill-session` `session-end`
|
|
857
858
|
|
|
858
859
|
**Auth:** `auth set/list/remove/check`
|
|
859
860
|
|
|
@@ -861,15 +862,17 @@ Supported tools: **Synthesis:** vivado, quartus, radiant, diamond, gowin.
|
|
|
861
862
|
|
|
862
863
|
---
|
|
863
864
|
|
|
864
|
-
##
|
|
865
|
+
## 47 Project Types
|
|
866
|
+
|
|
867
|
+
**Software:** Python CLI/lib/web/API, Rust, Go, C/C++, .NET, Node.js/TypeScript, mobile, microservices, data/ML.
|
|
865
868
|
|
|
866
|
-
**
|
|
869
|
+
**Modern web:** `nextjs-app`, `nuxt-app`, `sveltekit-app`, `remix-app`, `astro-site`.
|
|
867
870
|
|
|
868
|
-
**Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C
|
|
871
|
+
**Hardware/Embedded:** FPGA/RTL (Xilinx, Intel, Lattice, generic), Yocto BSP, embedded C/C++, PCB.
|
|
869
872
|
|
|
870
|
-
**Documents:** Technical specs, research papers, API specs, requirements management.
|
|
873
|
+
**Documents & IP:** Technical specs, research papers, API specs, requirements management, patent prosecution.
|
|
871
874
|
|
|
872
|
-
**Business/Legal:** Business plans, patent applications, compliance frameworks.
|
|
875
|
+
**Business/Legal:** Business plans, patent applications, compliance frameworks, legal compliance.
|
|
873
876
|
|
|
874
877
|
---
|
|
875
878
|
|
|
@@ -958,7 +961,7 @@ See the `codity-ai-review` governance skill (`specsmith skill install codity-ai-
|
|
|
958
961
|
|
|
959
962
|
specsmith governs itself — the specsmith repo is a specsmith-managed project. Run `specsmith audit`
|
|
960
963
|
in this repo to check its governance health. This means every feature we add to specsmith is
|
|
961
|
-
immediately dogfooded on specsmith itself. [Kairos](https://github.com/
|
|
964
|
+
immediately dogfooded on specsmith itself. [Kairos](https://github.com/layer1labs/kairos)
|
|
962
965
|
is the companion terminal and flagship client.
|
|
963
966
|
|
|
964
967
|
## Documentation
|
|
@@ -971,7 +974,7 @@ command reference, project types, tool registry, governance model, Ollama guide,
|
|
|
971
974
|
- [PyPI](https://pypi.org/project/specsmith/)
|
|
972
975
|
- [Documentation](https://specsmith.readthedocs.io)
|
|
973
976
|
- [Changelog](CHANGELOG.md)
|
|
974
|
-
- [Kairos terminal client](https://github.com/
|
|
977
|
+
- [Kairos terminal client](https://github.com/layer1labs/kairos)
|
|
975
978
|
- [Contributing](CONTRIBUTING.md)
|
|
976
979
|
- [Security](SECURITY.md)
|
|
977
980
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|