Convergent phase of the brainstorm flow: user says «хватит, к промоушену» →
grill session (design tree, rounds, frontier, numbered Q's with recommended
answers) → decision record. Adaptations to our conventions:
- grill-with-docs writes .wiki/concepts/<topic>-decision.md (project-discipline
Rule 1) or appends to .brainstorm/ running record in the workshop zone
- grilling sub-agent line made cross-agent honest (look up facts directly
when no subagent spawning)
- disable-model-invocation: true on both user wrappers
Provenance pinned to real commit 84fdeffd (not TBD). README table updated.
lint: 0/0; ~/.claude/skills now 41.
Override semantics kept generic: response style wins over multiple-choice
defaults; no dead plugin references left in live skill bodies (0 refs).
Version stays 0.1.1 (same commit family, text-only).
Per vitya's rule an agent may only read its own directory's inbox. The
first global-scan version (all ~/projects inboxes + PI_INBOX_ROOTS) was
scrapped same day; rewrote as session-scoped: watches only
<ctx.cwd>/.claude-inbox/, decoy test proves other inboxes untouched.
Pi (pi-coding-agent) sessions get inbox delivery via global extension
(.common/lib/pi-extensions/inbox-monitor.ts → ~/.pi/agent/extensions/).
Not cwd-scoped: any .claude-inbox/ message pages the current session with
project name in header. Headless = no delivery. SKILL.md v0.2.2→v0.3.0.
The first autonomous run blocked exit 1 because the service-spawned
claude bypassed the user proxy (xray :10808) and hit a geo-block.
Proxy env now injected into the runner service. Flip 🔵→⚪, drop the
stale Owner/Claim stamp so the poller re-claims and retries.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The poller writes a heartbeat/claim side-channel into .tasks/claims/ on
every claim; it was NOT gitignored here, so `git status --porcelain`
returned `?? .tasks/claims/` and the workspace resolver skipped every
claim with "working tree dirty" — the poller could never run a task in
this repo. Mirrors .common/.gitignore.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tasks_create emitted lowercase **weight:**/**notify:** body prose; the
later capital **Weight:** needs-claude coexisted with the stale
lowercase **weight:** needs-human, and the poller parsed needs-human
(case-insensitive, last wins) -> task skipped. Remove the lowercase
dupes; only **Weight:** needs-claude + **Notify:** remain. (This is
exactly the gap tracked by [tasks-create-emit-weight-notify-fields].)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add L1 **Poller:** eligible marker; ensure every ready task except
setup-agents-task-runner-windows-fixes carries **Weight:** needs-human
so the armed poller claims only that one task (no churn).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>