Herdr team coordination policy for AI coding agents
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
This contract governs explicitly admitted schema-2 fresh tasks and schema-3
adopted tasks executed by progression-run or progression-batch from the current verified native foreman environment. The
task's recovery record must name its current service generation, unchanged
contract and Herdr policy identity. A label in prose, an issue, a saved
heartbeat or a claimed environment value grants none of that authority.
Ordinary standalone work remains standalone. Unadopted legacy rounds retain their existing team-operation contract. This contract changes neither delegated work's Herdr requirement nor generic coding-policy review/release gates.
The executor owns one coherent task through implementation, verification, routine correction, release verification and local teardown. The current task record holds its phase, cumulative correction count, dispatch references and one pending effect. Existing recovery, assignment, engagement, report-gate and supervision owners retain their provenance and authority. There is no second board, Markdown assessment ledger or local history archive.
Fresh admission requires a new task at its exact registered clean base, an isolated writer worktree, explicit risk facts and authorized effects, frozen config and brief templates, an owner-controlled artifact directory outside the writer, compatible general policy, and a verified authority handoff. Existing work is finished or migrated through its actual owner; history is never reset to make it look new. Native remote/attested execution is not enabled by this adapter. Admission exclusively creates its fresh private artifact directory; an existing directory cannot be reused by this or another task.
Schema 3 adopts the actual latest applied source assignment at its clean pushed
head. Its immutable receipt binds the original dispatch, enrollment, native
prompt/final source, report bytes, source head and cumulative corrections.
Neither source adoption nor enrollment transfer claims the implementation was
built, tested or approved. An authenticated reported source enters verify;
its still-active delivery enrollment closes through one durable adopt intent
as transferred_for_verification. The native responsible verifier reads the
original report in full, assesses the supplied source and returns the existing
structured verification claim. An already accepted closed source keeps its
original assessment. Existing classifier/verdict gates remain with their owners.
New schema-3 admission is disabled until both registry reader publications are
verified. The source-controlled activation flag affects new admission only;
installed readers retain recovery of already admitted schema-3 tasks. See
skills/herdr-foreman/references/progression.md for preparation and rollout.
The compiled common brief names the actual general policy entrypoint, the scoped worker/report contract and the complete selected release skill. Workers read the general policy, worker protocol and report schema, then their current task brief, authorized source and named current blocking evidence. Release also reads the complete release skill and its binding references. Legacy composition, round narration, retrospectives, ledger events and full historical report reads are not normal prerequisites for this workflow. They remain available to their existing owners when a particular exception requires them.
The foreman reads a bounded current result or exception packet. It does not
traverse .hr, frozen briefs, complete owner JSON or historical reports to
advance ordinary work. GitHub retains review, change and delivery history;
local artifacts prove only the still-required current native work. Do not
create another report archive or copy that history into briefs or memory.
An eligible bounded task has an implementation responsibility and one native verifier supplying both independent review and test evidence. A complex task retains separate native reviewer and tester responsibilities. No implementer or declared contributor may verify its own task. Distinct labels cannot substitute for distinct native worker, pane and session identities.
Sensitive, production, migration or unfamiliar-domain work still requires its specialist coverage and actual effect/acceptance plan. Missing supported evidence produces a task-local decision packet before implementation; it is never an optimistic bounded profile. The initial native executor holds these cases for their existing specialist/production owner. It does not claim that separate review/test roles alone provide specialist coverage.
Workers decide routine task questions within their authorized scope. They record genuine blocks and uncertainties rather than waiting on an informal foreman question. Only one implementation writer acts on the worktree. Review and testing remain read-only; a native release worker repairs no source.
Read the scoped report and publication claim schema in
skills/herdr-foreman/references/workflow-worker.md when assessing native
reports; workers receive that contract instead of this foreman workflow.
The native responsible worker owns its assessment and full report. The executor parses the claim, verifies native provenance, current Git scope and head, independent identities and existing gates. It never judges finding merit from prose. A foreman full read and routine semantic classifier call are not additional normal-path gates for this admitted contract. Already recorded classifier gates remain binding and cannot be deleted or bypassed. Contract gaps and contradictory or uncertain evidence go to a bounded task-local decision rather than an inferred approval.
A settled blocking finding within the same authorized scope returns to this task's implementation responsibility. Preserve the original task, base, contributor exclusions and cumulative correction number. A fresh native assignment does not reset any of them. Current blocking report receipts are the next attempt's context; historical paperwork is not regenerated.
Advisories are acknowledged during the existing work. They add no repair, review or follow-up obligation. External review gates follow the selected coding-policy release contract. Disputed material findings, unsettled causes, changed scope/effect plans, repeated defects, contradictions and non-convergence require a task-local decision. Reaching a correction limit never authorizes self-approval. The executor uses the task's actual cumulative allowance, current approach and bounded correction plan. It preserves the original base, findings and authorized paths when spending a recorded extra attempt, and returns exhaustion or missing authorization to the existing diagnosis owner.
Blocking verdicts hold task release. Only the same responsibility's delivered, approved current-tip re-check or an actual resolved operator decision clears their existing gates. A judge ruling decides a dispute; it does not clear a verdict gate. Unrelated admitted tasks continue through their own owners. Explicit global operator holds remain global until their recorded authority resumes them.
The native release responsibility runs the complete existing release skill: readiness, push/PR, version checks, actual external reviews, full body/inline reading, exact-head merge, source-bound publisher watch and each channel's confirmation. All generic gates remain binding. If source repair is required, return a blocking report; never fix it from the release seat. Required version edits therefore return to implementation too. The executor owns local cleanup after release; the release worker preserves the writer checkout.
Native release startup keeps the existing project cwd. After a handoff it uses
the owner-proved retained source, preserving project-local Tessl/ACR bootstrap;
the brief selects the actual successor for business Git and its project policy. If
local setup has already dirtied a settled, verified writer, the bound foreman
uses prepare-release-checkout from round setup to preserve that source and
prepare a clean same-head successor before release transport. The explicit
owner handoff changes only the immutable contract's worktree and current grant
generation. It preserves original jobs, native/adoption sources, verification,
correction count and holds; it grants no release approval. Original adopted
source scope and transfer evidence remain bound to their original contract
through the versioned Git-owned checkout intent. Unsupported/changed evidence
refuses the handoff. Normal cleanliness, independent verification, publication
and acceptance gates still run on the selected successor.
Before merge, save the canonical ready watcher output unchanged at the
brief's review_evidence path and read every review and inline body in full,
all authors and review states included. Use the co-shipped
skills/herdr-foreman/workflow-review.py to bind that reading; its digest is
an identity, not reading credit or approval. Report the artifact receipt and digest in the
delivered native claim. Later comments never retroactively manufacture a
pre-merge read, and advisory-only feedback creates no repair round.
Every review/inline row needs its positive unique ID, complete body and author;
review rows also need their canonical review state. Those fields bind into
the digest. An unidentified author or missing/unsupported state is an
evidence exception, never an inferred completed reading.
The delivered publication fields are defined in
skills/herdr-foreman/references/workflow-worker.md. Other publication or
deployment adapters require their actual owner.
After native report delivery, the executor independently verifies the actual PR repository/base/head/merge and each selected channel through the complete coding-policy bundle. It retains the baseline, resolved run and each actual confirmation separately. Tessl registry advance and moderation prove only Tessl; exact immutable GitHub tag/assets prove only that channel. A green run or successful report alone completes neither. ACR confirmation also resolves and peels the actual release tag to the recorded merge source. Existing report gates and verdict obligations are rechecked under their owner lock through the acceptance save.
Merge acceptance requires the admitted criteria's independent evidence and the actual merged/published outcome. Deployment or operator acceptance needs its own actual evidence; merge is not substituted for it. Missing evidence remains an explicit exception. No task closure is written before acceptance.
The service runs outside model turns under its live process lease. Current liveness occupies one schema-2 row in the existing supervision store; pulses replace that row and append no event/history. A live continuation needs the current generation, binding, contract and Herdr policy, recent pulse, actual OS process identity and the kernel's exact lock-owner PID/inodes. Empty lock files, including the separate process-owner lock inode, carry no authority. Neither heartbeat expiry nor another process holding a path permits takeover or proves a prompt was not sent.
Every native launch/close has one durable pending intent. A restart reads back canonical applied/resolved facts before any continuation. An unknown send or close is preserved for the original owner, never replaced by a new dispatch. No worker, consumer, stopped team or operator hold is migrated by installing this package. Existing teams need their verified handoff before resumption.
Recovery uses the current owner commands in skills/herdr-foreman/references/progression.md.
progression-reconcile retires only an owner-proved unsent launch or one exact
measurement read back from its durable intent, canonical snapshot or retained
probe owner. It preserves the task and cumulative counter; later planning
chooses a fresh identity. Missing or ambiguous measurement evidence and live or
pending probes remain held. progression-resume takes the exact
current exception digest and explicit authorization to restore a retryable
saved phase under the same policy, contract and foreman binding. Neither a
free lease nor an expired heartbeat permits an unknown send to be repeated.
Material decisions remain with their actual owner, and an operator hold must
be resumed separately through its recorded authority.
Local cleanup follows actual acceptance and all channel confirmations. It fetches/fast-forwards the verified base, removes only this task's unchanged clean worktree, deletes its own merged local branch and removes its exact remote branch with an expected-head lease. Each step has a fixed intent and actual readback. New work, changed refs, aliases, missing evidence and unknown effects are preserved for their owner. Never force-remove a writer or sweep other worktrees as part of completing this task.
Only a healthy implemented executor may cover its exact current obligations when the foreman leaves. Prepared schema-1 chains, stale rows and unresolved exceptions provide no such continuation. A genuine user pause and existing verified successor/reset handoffs retain their own contracts.
.tessl-plugin
rules
skills
herdr-foreman
classify
foreman
references
specialists
templates
herdr-observer
herdr-optimizer
herdr-standup