Skip to content

Plan 10: End-to-end smoke test — 27 tests covering all plans (stacks on Plan 9)#9

Open
fernandoleyra wants to merge 1 commit intofrinkloop/v0.9-caveman-polishfrom
frinkloop/v0.10-e2e-smoke
Open

Plan 10: End-to-end smoke test — 27 tests covering all plans (stacks on Plan 9)#9
fernandoleyra wants to merge 1 commit intofrinkloop/v0.9-caveman-polishfrom
frinkloop/v0.10-e2e-smoke

Conversation

@fernandoleyra
Copy link
Copy Markdown
Owner

Summary

Plan 10 of FrinkLoop — the integration gate. Stacks on Plan 9 (PR #8).

A single bats file that walks the full pipeline from state init through loop completion for a simulated Vite+shadcn hackathon project, without calling Claude. Builder work is stubbed as file writes + git commits.

Coverage by plan

Plan What's tested
1 state_init, state_set, state_get round-trip
2 pick_next_task, verify_task, mark_task_done, queue_fix_task, stop hook (exits 2/0), post-iteration hook
3 registry.yaml presence + vite-shadcn entry
4 worktrees.sh + pick_parallel_batch function
5 claude-default/tokens.json + ds_list
6 emit_event + profile_increment
7 quota_hit + resume_time_from_reset + schedule_quota_resume
8 doc-writer + screenshot-capturer real bodies + deliver SKILL
9 caveman_prefix levels + plugin.json v0.9.0
e2e Full iteration: pick→stub-build→verify→mark-done→learning→hook

27 new tests, 179 total passing.

Test plan

  • bats tests/plan-1/ … tests/plan-10/ → 179/179

🤖 Generated with Claude Code


Generated by Claude Code

Full Vite+shadcn hackathon pipeline exercised without calling Claude:
- Plans 1-2: state init, pick, verify, mark-done, queue-fix, stop-hook, post-iteration
- Plan 3: registry.yaml vite-shadcn template
- Plan 4: worktrees.sh + pick_parallel_batch
- Plan 5: claude-default tokens.json + ds_list
- Plan 6: emit_event + profile_increment
- Plan 7: quota_hit + resume_time + schedule marker
- Plan 8: doc-writer/screenshot-capturer real bodies + deliver SKILL
- Plan 9: caveman_prefix + plugin.json v0.9.0
- [e2e]: one complete iteration (pick→build→verify→done→learning→hook)

179 tests passing total (152 plan-1..9 + 27 new).
fernandoleyra added a commit that referenced this pull request May 1, 2026
This repo is now exclusively the source of the FrinkLoop Claude Code
plugin. The plugin lives at ~/.claude/plugins/frinkloop/ once installed,
and per-project state goes inside each project's own .frinkloop/ dir.

Removed:
- agents/, core/, memory/, config/, scripts/, templates/, projects/, logs/
- frinkloop.py (old python entrypoint), FRINKLOOP_PLAY.md
- pytest.ini, requirements.txt, .env.example
- legacy python tests in tests/test_*.py
- two mkdir-brace-expansion artifact dirs

Updated:
- CLAUDE.md rewritten to describe plugin-as-skill architecture
- .gitignore trimmed to plugin-relevant entries
- package.json test script switched to "bats -r tests/"

Verified: bats -r tests/ → 28/28 on main (Plan 1 surface).
PRs #1-#9 (Plans 2-10) remain stacked on their own branches.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants