buildbard 1.0.0__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.
- buildbard-1.0.0/.env.example +1 -0
- buildbard-1.0.0/.gitattributes +5 -0
- buildbard-1.0.0/.githooks/pre-commit +5 -0
- buildbard-1.0.0/.githooks/pre-push +5 -0
- buildbard-1.0.0/.github/workflows/release.yml +90 -0
- buildbard-1.0.0/.gitignore +11 -0
- buildbard-1.0.0/AGENTS.md +1 -0
- buildbard-1.0.0/CLAUDE.md +34 -0
- buildbard-1.0.0/CONTRIBUTING.md +64 -0
- buildbard-1.0.0/PKG-INFO +28 -0
- buildbard-1.0.0/README.md +19 -0
- buildbard-1.0.0/buildbard.af +0 -0
- buildbard-1.0.0/buildbard.svg +239 -0
- buildbard-1.0.0/docs/00-overview.md +95 -0
- buildbard-1.0.0/docs/01-macro-layer.md +106 -0
- buildbard-1.0.0/docs/02-meso-layer.md +113 -0
- buildbard-1.0.0/docs/03-micro-layer.md +134 -0
- buildbard-1.0.0/docs/04-runner-kernel.md +123 -0
- buildbard-1.0.0/docs/05-deterministic-operations.md +81 -0
- buildbard-1.0.0/docs/06-simplification-notes.md +67 -0
- buildbard-1.0.0/docs/07-test-vs-verify.md +71 -0
- buildbard-1.0.0/docs/08-phase-flow.md +91 -0
- buildbard-1.0.0/docs/09-data-model.md +84 -0
- buildbard-1.0.0/docs/10-cli-surface.md +109 -0
- buildbard-1.0.0/docs/11-error-taxonomy.md +27 -0
- buildbard-1.0.0/docs/12-bootstrap-operations.md +42 -0
- buildbard-1.0.0/docs/13-migration-decisions.md +33 -0
- buildbard-1.0.0/docs/verification.md +25 -0
- buildbard-1.0.0/ledger.jsonl +5 -0
- buildbard-1.0.0/mise.toml +123 -0
- buildbard-1.0.0/pyproject.toml +33 -0
- buildbard-1.0.0/scripts/next_version.py +286 -0
- buildbard-1.0.0/scripts/verify/cli +14 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/data-model.md +92 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/design.md +80 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/explore.md +105 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/issues/001-001-kernel-fused-boundary.md +71 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/issues/001-002-session-explore-core.md +68 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/issues/001-003-research-prd-chain.md +68 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/issues/001-004-shard-adhoc-cli.md +72 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/issues/001-005-explore-determiner-branch.md +78 -0
- buildbard-1.0.0/specs/001-first-epic-scoping/prd.md +185 -0
- buildbard-1.0.0/specs/002-cli-install-skills/data-model.md +76 -0
- buildbard-1.0.0/specs/002-cli-install-skills/design.md +87 -0
- buildbard-1.0.0/specs/002-cli-install-skills/explore.md +77 -0
- buildbard-1.0.0/specs/002-cli-install-skills/issues/002-001-setup-scaffold.md +64 -0
- buildbard-1.0.0/specs/002-cli-install-skills/issues/002-002-governance-safety.md +61 -0
- buildbard-1.0.0/specs/002-cli-install-skills/issues/002-003-phase-skills-scaffold.md +71 -0
- buildbard-1.0.0/specs/002-cli-install-skills/issues/002-004-git-exclude-scaffold.md +70 -0
- buildbard-1.0.0/specs/002-cli-install-skills/issues/002-005-skills-install-path-agents.md +75 -0
- buildbard-1.0.0/specs/002-cli-install-skills/issues/002-006-install-full-skill-payloads.md +72 -0
- buildbard-1.0.0/specs/002-cli-install-skills/prd.md +106 -0
- buildbard-1.0.0/specs/003-meso-specify/data-model.md +63 -0
- buildbard-1.0.0/specs/003-meso-specify/design.md +66 -0
- buildbard-1.0.0/specs/003-meso-specify/explore.md +79 -0
- buildbard-1.0.0/specs/003-meso-specify/issues/003-001-discover-claimable-issue.md +50 -0
- buildbard-1.0.0/specs/003-meso-specify/issues/003-002-guarded-worktree-claim.md +51 -0
- buildbard-1.0.0/specs/003-meso-specify/issues/003-003-claim-failure-modes.md +47 -0
- buildbard-1.0.0/specs/003-meso-specify/issues/003-004-resume-and-post-modes.md +48 -0
- buildbard-1.0.0/specs/003-meso-specify/prd.md +57 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/data-model.md +46 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/design.md +58 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/explore.md +79 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/issues/004-001-tasks-pre-contract.md +41 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/issues/004-002-task-parser.md +36 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/issues/004-003-post-validate-seed.md +41 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/issues/004-004-post-commit-chain.md +40 -0
- buildbard-1.0.0/specs/004-tasks-pre-post/prd.md +49 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/data-model.md +43 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/design.md +56 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/explore.md +82 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/issues/005-001-converge-pre-readiness.md +43 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/issues/005-002-converge-post-verdict.md +44 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/issues/005-003-merge-pre-manifest.md +45 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/issues/005-004-merge-post-lifecycle.md +45 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/issues/005-005-cli-chain-mounts.md +43 -0
- buildbard-1.0.0/specs/005-converge-merge-meso-gates/prd.md +58 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-001-dispatcher-ac-injection/plan.md +60 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-001-dispatcher-ac-injection/tasks.jsonl +10 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-001-dispatcher-ac-injection/tasks.md +59 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-002-red-failing-test/plan.md +49 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-002-red-failing-test/tasks.jsonl +6 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-002-red-failing-test/tasks.md +39 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-003-green-guarded-retry/plan.md +48 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-004-judge-verdict-routing/plan.md +66 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-005-rollback-feedback/plan.md +67 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-006-refactor-spy-modes/plan.md +59 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/006-007-run-entry-point/plan.md +39 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/data-model.md +127 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/design.md +80 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/explore.md +91 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-001-dispatcher-ac-injection.md +43 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-002-red-failing-test.md +41 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-003-green-guarded-retry.md +40 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-004-judge-verdict-routing.md +42 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-005-rollback-feedback.md +43 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-006-refactor-spy-modes.md +42 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/issues/006-007-run-entry-point.md +44 -0
- buildbard-1.0.0/specs/006-micro-layer-distilled/prd.md +68 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/007-001-manual-phase-skills/plan.md +61 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/007-002-drain-loop/plan.md +40 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/007-003-pi-invocation/plan.md +40 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/007-004-shared-core-session/plan.md +49 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/007-005-budgets-routing/plan.md +58 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/007-006-converge-emission/plan.md +30 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/data-model.md +62 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/design.md +37 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/explore.md +49 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/issues/007-001-manual-phase-skills.md +52 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/issues/007-002-drain-loop.md +47 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/issues/007-003-pi-invocation.md +47 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/issues/007-004-shared-core-session.md +48 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/issues/007-005-budgets-routing.md +49 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/issues/007-006-converge-emission.md +44 -0
- buildbard-1.0.0/specs/007-micro-skills-runner/prd.md +67 -0
- buildbard-1.0.0/specs/008-bard-run-chain/008-002-prepare-cards/plan.md +51 -0
- buildbard-1.0.0/specs/008-bard-run-chain/008-003-drain-tdd/plan.md +57 -0
- buildbard-1.0.0/specs/008-bard-run-chain/008-004-converge-bounded/plan.md +48 -0
- buildbard-1.0.0/specs/008-bard-run-chain/008-005-halt-malformed/plan.md +52 -0
- buildbard-1.0.0/specs/008-bard-run-chain/008-1-resolve-branch/plan.md +50 -0
- buildbard-1.0.0/specs/008-bard-run-chain/data-model.md +64 -0
- buildbard-1.0.0/specs/008-bard-run-chain/design.md +41 -0
- buildbard-1.0.0/specs/008-bard-run-chain/explore.md +50 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-002-prepare-cards.md +36 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-003-drain-tdd.md +38 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-004-converge-bounded.md +37 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-005-halt-malformed/tasks.jsonl +10 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-005-halt-malformed/tasks.md +57 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-005-halt-malformed.md +36 -0
- buildbard-1.0.0/specs/008-bard-run-chain/issues/008-1-resolve-branch.md +37 -0
- buildbard-1.0.0/specs/008-bard-run-chain/prd.md +56 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/data-model.md +54 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/design.md +41 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/explore.md +52 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-001-judge-directives/tasks.jsonl +4 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-001-judge-directives/tasks.md +54 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-001-judge-directives.md +50 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-002-terminal-drain-stop/tasks.jsonl +4 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-002-terminal-drain-stop/tasks.md +34 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-002-terminal-drain-stop.md +46 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/issues/009-003-chain-wiring.md +49 -0
- buildbard-1.0.0/specs/009-deviate-auto-runner-parity/prd.md +46 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/data-model.md +60 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/design.md +36 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/explore.md +48 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/issues/010-001-judge-rewrites-cards/tasks.jsonl +23 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/issues/010-001-judge-rewrites-cards/tasks.md +105 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/issues/010-001-judge-rewrites-cards.md +37 -0
- buildbard-1.0.0/specs/010-judge-bounded-remedy/prd.md +41 -0
- buildbard-1.0.0/specs/adhoc/ISS-003-converge-merge-skills/plan.md +41 -0
- buildbard-1.0.0/specs/adhoc/ISS-003-converge-merge-skills/tasks.jsonl +9 -0
- buildbard-1.0.0/specs/adhoc/ISS-003-converge-merge-skills/tasks.md +65 -0
- buildbard-1.0.0/specs/adhoc/issues/ISS-001-cli-help-clarity.md +34 -0
- buildbard-1.0.0/specs/adhoc/issues/ISS-002-shard-blocked-by-validation.md +29 -0
- buildbard-1.0.0/specs/adhoc/issues/ISS-003-converge-merge-skills.md +34 -0
- buildbard-1.0.0/specs/adhoc/prd.md +8 -0
- buildbard-1.0.0/specs/constitution.md +70 -0
- buildbard-1.0.0/specs/explore/cli-help-clarity.md +80 -0
- buildbard-1.0.0/specs/explore/constitution-injection.md +78 -0
- buildbard-1.0.0/specs/explore/converge-merge-skills.md +79 -0
- buildbard-1.0.0/specs/explore/issue-to-tasks-no-worktree-fast-path.md +85 -0
- buildbard-1.0.0/specs/issues.jsonl +170 -0
- buildbard-1.0.0/src/buildbard/__init__.py +1 -0
- buildbard-1.0.0/src/buildbard/cli.py +913 -0
- buildbard-1.0.0/src/buildbard/contracts.py +59 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-adhoc-SKILL.md +117 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-amend-SKILL.md +63 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-converge-SKILL.md +21 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-explore-SKILL.md +126 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-green-SKILL.md +25 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-judge-SKILL.md +27 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-merge-SKILL.md +19 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-prd-SKILL.md +111 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-red-SKILL.md +25 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-refactor-SKILL.md +24 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-research-SKILL.md +104 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-shard-SKILL.md +108 -0
- buildbard-1.0.0/src/buildbard/data/skills/buildbard-tasks-SKILL.md +129 -0
- buildbard-1.0.0/src/buildbard/git.py +226 -0
- buildbard-1.0.0/src/buildbard/invoke.py +25 -0
- buildbard-1.0.0/src/buildbard/ledgers.py +35 -0
- buildbard-1.0.0/src/buildbard/main.py +13 -0
- buildbard-1.0.0/src/buildbard/phases/__init__.py +1 -0
- buildbard-1.0.0/src/buildbard/phases/adhoc.py +210 -0
- buildbard-1.0.0/src/buildbard/phases/converge.py +223 -0
- buildbard-1.0.0/src/buildbard/phases/explore.py +114 -0
- buildbard-1.0.0/src/buildbard/phases/merge.py +270 -0
- buildbard-1.0.0/src/buildbard/phases/micro.py +681 -0
- buildbard-1.0.0/src/buildbard/phases/prd.py +156 -0
- buildbard-1.0.0/src/buildbard/phases/research.py +209 -0
- buildbard-1.0.0/src/buildbard/phases/run.py +127 -0
- buildbard-1.0.0/src/buildbard/phases/shard.py +209 -0
- buildbard-1.0.0/src/buildbard/phases/specify.py +362 -0
- buildbard-1.0.0/src/buildbard/phases/task_parser.py +100 -0
- buildbard-1.0.0/src/buildbard/phases/tasks.py +278 -0
- buildbard-1.0.0/src/buildbard/session.py +81 -0
- buildbard-1.0.0/src/buildbard/validation.py +60 -0
- buildbard-1.0.0/tests/integration/.gitkeep +0 -0
- buildbard-1.0.0/tests/integration/test_judge_remedy_apply.py +89 -0
- buildbard-1.0.0/tests/integration/test_judge_rewrite_cards.py +72 -0
- buildbard-1.0.0/tests/unit/.gitkeep +0 -0
- buildbard-1.0.0/tests/unit/conftest.py +19 -0
- buildbard-1.0.0/tests/unit/test_adhoc_pre.py +180 -0
- buildbard-1.0.0/tests/unit/test_cli.py +45 -0
- buildbard-1.0.0/tests/unit/test_cli_research_prd.py +95 -0
- buildbard-1.0.0/tests/unit/test_cli_run_converge.py +134 -0
- buildbard-1.0.0/tests/unit/test_cli_run_halt.py +64 -0
- buildbard-1.0.0/tests/unit/test_converge_merge_cli.py +65 -0
- buildbard-1.0.0/tests/unit/test_converge_pre.py +73 -0
- buildbard-1.0.0/tests/unit/test_explore_determiner.py +158 -0
- buildbard-1.0.0/tests/unit/test_explore_pre.py +98 -0
- buildbard-1.0.0/tests/unit/test_green_missing_boundary.py +79 -0
- buildbard-1.0.0/tests/unit/test_invoke.py +86 -0
- buildbard-1.0.0/tests/unit/test_invoke_timeout.py +74 -0
- buildbard-1.0.0/tests/unit/test_judge_drain_rewrite.py +65 -0
- buildbard-1.0.0/tests/unit/test_kernel_ledger.py +52 -0
- buildbard-1.0.0/tests/unit/test_manual_cli.py +135 -0
- buildbard-1.0.0/tests/unit/test_manual_skills_judge_refactor.py +43 -0
- buildbard-1.0.0/tests/unit/test_manual_skills_red_green.py +35 -0
- buildbard-1.0.0/tests/unit/test_merge_post.py +336 -0
- buildbard-1.0.0/tests/unit/test_merge_pre.py +104 -0
- buildbard-1.0.0/tests/unit/test_micro_bounded_rewrite.py +71 -0
- buildbard-1.0.0/tests/unit/test_micro_budget_escalation.py +56 -0
- buildbard-1.0.0/tests/unit/test_micro_cli.py +73 -0
- buildbard-1.0.0/tests/unit/test_micro_contradiction.py +72 -0
- buildbard-1.0.0/tests/unit/test_micro_converge_emission.py +68 -0
- buildbard-1.0.0/tests/unit/test_micro_converge_evidence.py +62 -0
- buildbard-1.0.0/tests/unit/test_micro_drain.py +164 -0
- buildbard-1.0.0/tests/unit/test_micro_drain_cli.py +78 -0
- buildbard-1.0.0/tests/unit/test_micro_drain_guard.py +67 -0
- buildbard-1.0.0/tests/unit/test_micro_drain_halt.py +60 -0
- buildbard-1.0.0/tests/unit/test_micro_drain_retry.py +94 -0
- buildbard-1.0.0/tests/unit/test_micro_drain_terminal.py +51 -0
- buildbard-1.0.0/tests/unit/test_micro_green.py +113 -0
- buildbard-1.0.0/tests/unit/test_micro_judge.py +142 -0
- buildbard-1.0.0/tests/unit/test_micro_judge_directives.py +49 -0
- buildbard-1.0.0/tests/unit/test_micro_judge_rewrite.py +52 -0
- buildbard-1.0.0/tests/unit/test_micro_pre.py +111 -0
- buildbard-1.0.0/tests/unit/test_micro_red.py +98 -0
- buildbard-1.0.0/tests/unit/test_micro_refactor.py +131 -0
- buildbard-1.0.0/tests/unit/test_micro_revert_green_ref.py +48 -0
- buildbard-1.0.0/tests/unit/test_micro_rollback.py +222 -0
- buildbard-1.0.0/tests/unit/test_micro_shared_entry.py +24 -0
- buildbard-1.0.0/tests/unit/test_micro_test_defect.py +65 -0
- buildbard-1.0.0/tests/unit/test_next_version.py +58 -0
- buildbard-1.0.0/tests/unit/test_prd_pre.py +98 -0
- buildbard-1.0.0/tests/unit/test_research_prd.py +200 -0
- buildbard-1.0.0/tests/unit/test_research_pre.py +177 -0
- buildbard-1.0.0/tests/unit/test_run_converge_loop.py +146 -0
- buildbard-1.0.0/tests/unit/test_run_drain_real_cards.py +61 -0
- buildbard-1.0.0/tests/unit/test_run_entry.py +37 -0
- buildbard-1.0.0/tests/unit/test_run_prepare.py +88 -0
- buildbard-1.0.0/tests/unit/test_run_prepare_malformed.py +59 -0
- buildbard-1.0.0/tests/unit/test_session_explore.py +225 -0
- buildbard-1.0.0/tests/unit/test_session_red_sha.py +59 -0
- buildbard-1.0.0/tests/unit/test_setup_amend_skill.py +20 -0
- buildbard-1.0.0/tests/unit/test_setup_guards.py +104 -0
- buildbard-1.0.0/tests/unit/test_setup_idempotent_exclude.py +65 -0
- buildbard-1.0.0/tests/unit/test_setup_payloads.py +110 -0
- buildbard-1.0.0/tests/unit/test_setup_safety.py +182 -0
- buildbard-1.0.0/tests/unit/test_setup_scaffold.py +374 -0
- buildbard-1.0.0/tests/unit/test_shard_adhoc_cli.py +752 -0
- buildbard-1.0.0/tests/unit/test_shard_pre.py +175 -0
- buildbard-1.0.0/tests/unit/test_spec_v2.py +202 -0
- buildbard-1.0.0/tests/unit/test_specify_cli_output.py +72 -0
- buildbard-1.0.0/tests/unit/test_specify_resume_post.py +237 -0
- buildbard-1.0.0/tests/unit/test_task_parser.py +93 -0
- buildbard-1.0.0/tests/unit/test_tasks_active_reuse.py +155 -0
- buildbard-1.0.0/tests/unit/test_tasks_cli_post.py +116 -0
- buildbard-1.0.0/tests/unit/test_tasks_issue_ledger.py +82 -0
- buildbard-1.0.0/tests/unit/test_tasks_post_contract_shape.py +69 -0
- buildbard-1.0.0/tests/unit/test_tasks_post_seed.py +180 -0
- buildbard-1.0.0/tests/unit/test_tasks_pre.py +158 -0
- buildbard-1.0.0/uv.lock +183 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# no secrets required yet
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
bump:
|
|
7
|
+
description: SemVer bump (auto from gitmoji conventional commits, or explicit)
|
|
8
|
+
required: false
|
|
9
|
+
default: auto
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- auto
|
|
13
|
+
- patch
|
|
14
|
+
- minor
|
|
15
|
+
- major
|
|
16
|
+
dry_run:
|
|
17
|
+
description: Print the computed version and skip commit, tag, and release
|
|
18
|
+
required: false
|
|
19
|
+
default: false
|
|
20
|
+
type: boolean
|
|
21
|
+
|
|
22
|
+
permissions:
|
|
23
|
+
contents: write
|
|
24
|
+
id-token: write
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
release:
|
|
28
|
+
name: Cut and release
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
steps:
|
|
31
|
+
- name: Refuse non-default branch unless dry_run
|
|
32
|
+
if: ${{ github.ref_name != github.event.repository.default_branch && inputs.dry_run != true }}
|
|
33
|
+
run: |
|
|
34
|
+
echo "Refusing to release from '${GITHUB_REF_NAME}'."
|
|
35
|
+
echo "Default branch is '${{ github.event.repository.default_branch }}'."
|
|
36
|
+
echo "Re-run with dry_run=true to preview, or run from the default branch."
|
|
37
|
+
exit 1
|
|
38
|
+
|
|
39
|
+
- uses: actions/checkout@v4
|
|
40
|
+
with:
|
|
41
|
+
fetch-depth: 0
|
|
42
|
+
ref: ${{ github.ref }}
|
|
43
|
+
|
|
44
|
+
- name: Install uv
|
|
45
|
+
uses: astral-sh/setup-uv@v6
|
|
46
|
+
with:
|
|
47
|
+
python-version: "3.13"
|
|
48
|
+
|
|
49
|
+
- name: Compute next version
|
|
50
|
+
id: version
|
|
51
|
+
run: |
|
|
52
|
+
set -euo pipefail
|
|
53
|
+
VERSION="$(uv run --no-project python scripts/next_version.py --bump "${{ inputs.bump }}")"
|
|
54
|
+
echo "version=${VERSION}" >> "${GITHUB_OUTPUT}"
|
|
55
|
+
echo "Computed next version: ${VERSION}"
|
|
56
|
+
|
|
57
|
+
- name: Dry run complete
|
|
58
|
+
if: ${{ inputs.dry_run == true }}
|
|
59
|
+
run: |
|
|
60
|
+
echo "dry_run=true — skipping commit, tag, and release for ${{ steps.version.outputs.version }}"
|
|
61
|
+
|
|
62
|
+
- name: Apply version bump
|
|
63
|
+
if: ${{ inputs.dry_run != true }}
|
|
64
|
+
run: |
|
|
65
|
+
set -euo pipefail
|
|
66
|
+
uv run --no-project python scripts/next_version.py --bump "${{ inputs.bump }}" --write
|
|
67
|
+
|
|
68
|
+
- name: Commit, tag, and push
|
|
69
|
+
if: ${{ inputs.dry_run != true }}
|
|
70
|
+
run: |
|
|
71
|
+
set -euo pipefail
|
|
72
|
+
VERSION="${{ steps.version.outputs.version }}"
|
|
73
|
+
git config user.name "github-actions[bot]"
|
|
74
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
75
|
+
git add pyproject.toml uv.lock
|
|
76
|
+
git commit -m "🔧 chore(release): version ${VERSION}"
|
|
77
|
+
git tag "v${VERSION}"
|
|
78
|
+
git push origin "HEAD:${GITHUB_REF_NAME}"
|
|
79
|
+
git push origin "v${VERSION}"
|
|
80
|
+
|
|
81
|
+
- name: Create GitHub Release and publish to PyPI
|
|
82
|
+
if: ${{ inputs.dry_run != true }}
|
|
83
|
+
env:
|
|
84
|
+
GH_TOKEN: ${{ github.token }}
|
|
85
|
+
run: |
|
|
86
|
+
set -euo pipefail
|
|
87
|
+
VERSION="${{ steps.version.outputs.version }}"
|
|
88
|
+
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
|
|
89
|
+
uv build
|
|
90
|
+
uv publish --trusted-publishing always
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CLAUDE.md
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Vision source of truth: `docs/` (start at `docs/00-overview.md`). Consult it when behavior, scope, or design intent is unclear.
|
|
2
|
+
# Bard skills source of truth: `src/buildbard/data/skills/*-SKILL.md`. Never read installed copies in `.agents/skills/` — they are generated output.
|
|
3
|
+
|
|
4
|
+
## ⚡ DeviaTDD Verification and Mise Tasks
|
|
5
|
+
|
|
6
|
+
Use `mise run <task>`:
|
|
7
|
+
|
|
8
|
+
| Task | Purpose |
|
|
9
|
+
|------|---------|
|
|
10
|
+
| `mise run test` | Unit tests by default |
|
|
11
|
+
|
|
12
|
+
| `mise run test:unit` | Unit tests only |
|
|
13
|
+
| `mise run test:integration` | Unit plus integration tests |
|
|
14
|
+
| `mise run test:e2e` | Unit plus integration plus E2E tests |
|
|
15
|
+
| `mise run doctor` | Readiness |
|
|
16
|
+
| `mise run doctor:unit` | Unit readiness |
|
|
17
|
+
| `mise run doctor:integration` | Unit+integration readiness |
|
|
18
|
+
| `mise run doctor:e2e` | Unit+integration+E2E readiness |
|
|
19
|
+
|
|
20
|
+
Targeted testing: `mise run test:one -- <file> [-k <name>]`. Behavior checks: `mise run verify` (see `docs/verification.md`).
|
|
21
|
+
Before completion, run the matching `test:*` layer task.
|
|
22
|
+
|
|
23
|
+
Unit tests must not require external services.
|
|
24
|
+
Unit tests never invoke the git binary: stub git seams
|
|
25
|
+
(`commit_post`, `_clean_head`, `_commit_drop`, `_issue_files`,
|
|
26
|
+
`_current_branch`) or pre-create `.git` to skip `git init`.
|
|
27
|
+
`tests/unit/conftest.py` fails any test that shells out to git.
|
|
28
|
+
Put service-dependent checks in integration tests.
|
|
29
|
+
Integration tests may use git only inside an isolated sandbox
|
|
30
|
+
(fresh `tmp_path` repo, never the working checkout).
|
|
31
|
+
|
|
32
|
+
## Commit convention
|
|
33
|
+
|
|
34
|
+
Before any commit, read CONTRIBUTING.md and apply its gitmoji + Conventional Commits rules.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
## Commit message convention
|
|
4
|
+
|
|
5
|
+
This repo uses [Conventional Commits 1.0](https://www.conventionalcommits.org/)
|
|
6
|
+
with an [emoji prefix](https://gitmoji.dev/) for visual scannability.
|
|
7
|
+
|
|
8
|
+
### Format
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
<emoji> <type>[(<scope>)][!]: <subject>
|
|
12
|
+
|
|
13
|
+
<body — explain WHY, wrap at 72 chars/line>
|
|
14
|
+
|
|
15
|
+
<footer — BREAKING CHANGE: …, Refs: #123, etc.>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Type → emoji
|
|
19
|
+
|
|
20
|
+
| Type | Emoji | Meaning |
|
|
21
|
+
| ---------- | ----- | ------------------------------------------------ |
|
|
22
|
+
| `feat` | ✨ | New user-visible feature |
|
|
23
|
+
| `fix` | 🐛 | Bug fix |
|
|
24
|
+
| `docs` | 📚 | Documentation only |
|
|
25
|
+
| `style` | 🎨 | Formatting/whitespace (no logic change) |
|
|
26
|
+
| `refactor` | ♻️ | Code change with no behavior change |
|
|
27
|
+
| `perf` | 🚀 | Performance improvement |
|
|
28
|
+
| `test` | ✅ | Tests added or corrected |
|
|
29
|
+
| `build` | 📦 | Build system or dependency change |
|
|
30
|
+
| `ci` | 👷 | CI configuration or scripts |
|
|
31
|
+
| `chore` | 🔧 | Tooling, maintenance, non-source tasks |
|
|
32
|
+
| `revert` | ⏪ | Revert a prior commit |
|
|
33
|
+
| breaking | 💥 | Backward-incompatible (use `type!:` + footer) |
|
|
34
|
+
| security | 🔒 | Security hardening (treat as `fix`) |
|
|
35
|
+
|
|
36
|
+
### Rules
|
|
37
|
+
|
|
38
|
+
- One logical change per commit. Split unrelated changes.
|
|
39
|
+
- **Subject**: imperative, lowercase after the colon, no trailing period, ≤ 50 chars.
|
|
40
|
+
- **Scope** *(optional)*: short noun — `pi`, `omp`, `chezmoi`, `agents`, `claude`, etc.
|
|
41
|
+
- **Breaking changes**: append `!` after the type/scope **and** add a `BREAKING CHANGE: <explanation>` footer.
|
|
42
|
+
- **Body** *(optional)*: explain *why*, not *what*. Wrap at 72 chars/line.
|
|
43
|
+
- **Footer** *(optional)*: `BREAKING CHANGE: …`, `Refs: #123`, etc.
|
|
44
|
+
|
|
45
|
+
### Examples
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
✨ feat(pi): add commit-convention lookup in commit skill
|
|
49
|
+
🐛 fix(omp): handle null theme on first launch
|
|
50
|
+
📚 docs(agents): document codebase-index toolchain
|
|
51
|
+
♻️ refactor(opencode): rename footer file for clarity
|
|
52
|
+
🚀 perf(pi): skip jq on small contracts
|
|
53
|
+
✅ test(commit): cover conventional+emoji prefix parsing
|
|
54
|
+
💥 feat(api)!: drop legacy v1 endpoints
|
|
55
|
+
🔒 fix(pi): mask sensitive paths in error messages
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Why
|
|
59
|
+
|
|
60
|
+
- **Conventional types** let tooling (release-please, commitlint, semantic-release)
|
|
61
|
+
derive versions and changelogs automatically from the log.
|
|
62
|
+
- **Emoji prefixes** make `git log --oneline` scannable — the type cue lands
|
|
63
|
+
before your eye reaches the prose.
|
|
64
|
+
- **Scope** keeps the diff domain explicit in monorepos like this one.
|
buildbard-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: buildbard
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Buildbard CLI — spec-driven TDD orchestrator (deviatdd rewrite)
|
|
5
|
+
Requires-Python: >=3.13
|
|
6
|
+
Requires-Dist: rich>=13.0
|
|
7
|
+
Requires-Dist: typer>=0.12
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
# buildbard
|
|
13
|
+
|
|
14
|
+
Spec-driven TDD orchestrator. Python CLI (`buildbard` / `bard`).
|
|
15
|
+
|
|
16
|
+
## Setup
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
mise run setup
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Use
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
mise run dev # CLI help
|
|
26
|
+
mise run check # lint + format-check
|
|
27
|
+
mise run test # unit tests
|
|
28
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# buildbard
|
|
4
|
+
|
|
5
|
+
Spec-driven TDD orchestrator. Python CLI (`buildbard` / `bard`).
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
mise run setup
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Use
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
mise run dev # CLI help
|
|
17
|
+
mise run check # lint + format-check
|
|
18
|
+
mise run test # unit tests
|
|
19
|
+
```
|
|
Binary file
|