π fix(l6): upload-artifact include-hidden-files=true so trajectory.db survives#122
Merged
Merged
Conversation
β¦ survives Run #24966708851 confirmed L6_KEEP_ARTIFACTS=1 prevented the trap cleanup, but the uploaded artifact contained only README.md β no .claude/tmb/ trajectory.db. actions/upload-artifact@v4 defaults include-hidden-files to false, and .claude/ is dot-prefixed, so the entire DB tree was filtered out at upload time. Setting include-hidden-files: true so post-mortem diagnosis can actually inspect the trajectory DB.
6 tasks
ZaxShen
added a commit
that referenced
this pull request
Apr 26, 2026
β¦cp-errors / direct-mode / push-gate to skills (#124) * π‘οΈ feat(bro): headless fallback doctrine for AskUserQuestion L6 run #24966945645 (artifact #122) confirmed bro halts in `claude -p` mode whenever a skill calls AskUserQuestion β no Human, error, halt. 3 of 4 wired flows died this way. Plus 95-anonymous-cold-restart revealed bro short-circuiting the first-action chain on casual messages, contradicting the documented "every triggered message" rule. Doctrine fix: 1. **CLAUDE.md** gains an "AskUserQuestion fallback β never halt" section. Every fallback MUST record both `ledger_log(event_type= 'headless_fallback', ...)` AND `discussion_append(kind='note', ...)` so the autonomous decision is auditable. 2. **First-action chain** clarified: "No exceptions. Casual messages like @bro hi still run the full chain." Removes the wiggle-room bro was using to skip identity_get/config_get/issue_resume. 3. **4 in-DB skills** (tmb_first-run-onboarding, tmb_branch-id-proposal, tmb_reonboard, tmb_planning-difficult) get a "## Headless fallback" section listing questionβdefaultβaudit-write protocol. 4. **2 file-writing skills** (tmb_skill-creator, tmb_agent-creator) get a "## Headless mode β HALT" section. Auto-approving silent skill/agent generation in CI is the foot-gun the rule guards against; halt with `ledger_log(event_type='headless_creator_blocked')` instead. 5. **tmb_reonboard** also halts (re-onboarding flips policy keys that drive git-guards.sh; silent fallback could break the project's git workflow with no audit trace). Defaults table summary: - identity name β "Anonymous" (recoverable via tmb_reonboard) - branching_model β github-flow - pr_target β main - protected_branches β ["main"] - branch-id-proposal confirm β "Yes, proceed" - planning-difficult scope β "proceed as proposed" * βοΈ refactor(claude.md): slim 268β149 lines, extract 4 reactive skills User feedback on PR #124: AskUserQuestion fallback (+ much more) belongs in skills, not in the always-loaded CLAUDE.md. Recommended target: under 200 lines, ideally 60. Extracted to new reactive skills (load on trigger, not on every turn): - tmb_headless-fallback β AskUserQuestion fallback doctrine + ledger/discussion audit (was the new section from #124) - tmb_mcp-error-handling β is_error halt rule + forbidden-tools list - tmb_direct-mode β β€3-line single-file bypass protocol - tmb_push-gate β pr-reviewer-at-push-time orchestration CLAUDE.md retains only what bro needs on EVERY message: - Trigger rule - Identity / role / two-layer agent model (compressed) - MCP caller identity + forbidden-tools one-liner - First-action chain (no exceptions for casual messages β preserved from #124) - Routing decision table - Code-touching ask chain (with skill pointers) - "Skills bro loads reactively" lookup table - Catchphrase + communication style - Reference pointers (state, perf, config keys) Net: 268 β 149 lines (44% reduction). Reference-style sections (Agents shipped, Where state lives) collapsed to one-liners pointing at CONTRIBUTING.md and existing architecture docs. --------- Co-authored-by: Zax Shen <ZaxShen@users.noreply.github.com>
4 tasks
ZaxShen
added a commit
that referenced
this pull request
May 20, 2026
Adds outcome.sql, tools-required/forbidden.json, cost-budget.json, and README.md to flows 03, 05, 06, 07, 08, 09, 32, 92, 94, 96, C. Replaces skeleton run.sh (mode 0755) in flows 03, 06, 08, 09, 92, C with custom pre-seed logic; keeps skeleton in the remaining five. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ZaxShen
added a commit
that referenced
this pull request
May 20, 2026
ZaxShen
added a commit
that referenced
this pull request
May 20, 2026
feat(l5): author fixtures for 11 skeleton flows (#122) See merge request trustmybot/plugin!40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Run #24966708851 confirmed
L6_KEEP_ARTIFACTS=1worked β the per-flow scratch dirs survived the trap cleanup. But the uploaded `l6-trajectory-dumps` artifact contained only `README.md` files, no `.claude/tmb/trajectory.db`.Root cause: `actions/upload-artifact@v4` defaults `include-hidden-files` to `false`. `.claude/` is dot-prefixed β the entire DB tree gets filtered out at upload.
Setting `include-hidden-files: true` so post-mortem can actually inspect the trajectory DB.
Followup (separate PR β needs design)
The full run revealed deeper issues that the artifact will help diagnose:
These are separate from this PR β this one just unblocks observability.