Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
566a4d3
refactor: prepare canonical work-board coordinator and offline recove…
EHotwagner Oct 18, 2026
f666a34
feat: distinguish explicit V2 delivery work and native hierarchy
EHotwagner Oct 18, 2026
85a2c45
feat: prepare typed Work level migration and scoped progress projection
EHotwagner Oct 18, 2026
056f959
test: retain hierarchy refusal and existing-owner continuation bounda…
EHotwagner Oct 18, 2026
0db9dbe
fix: scope contradictory native hierarchy observations to affected work
EHotwagner Oct 18, 2026
a3f2711
fix: retain unknown when native closure reason is absent
EHotwagner Oct 18, 2026
123dbc0
fix: align successor writer test record scope and version readback
EHotwagner Oct 18, 2026
2ca8967
fix: qualify successor writer assertions and retained view boundaries
EHotwagner Oct 18, 2026
cd308d5
fix: align successor migration case with typed match
EHotwagner Oct 18, 2026
b924e78
fix: assert provenance refusal on inspection evidence
EHotwagner Oct 18, 2026
05ab1ac
feat: assemble outcome delivery instructions and native migration jou…
EHotwagner Oct 18, 2026
3dc6ba5
docs: route current development guidance through canonical coordinator
EHotwagner Oct 18, 2026
efa5de7
test: assert advisory ready protocol and independent capacity
EHotwagner Oct 18, 2026
8f248a2
ci: qualify canonical coordinator helper changes under existing check
EHotwagner Oct 18, 2026
cf55e77
fix: retain incomplete relationship metadata as unknown in progress
EHotwagner Oct 18, 2026
95f1566
test: bind progress cases to explicit snapshot and prior native cutoff
EHotwagner Oct 18, 2026
fe78bba
fix: bind hierarchy digest before constructing CLI slice record
EHotwagner Oct 18, 2026
8d576b7
docs: specify outcome delivery successor and bounded migration contract
EHotwagner Oct 18, 2026
8021d16
test: verify every successor CLI effect and retained schema intent
EHotwagner Oct 18, 2026
5494c24
test: verify actual CLI ready identity and capacity refusals
EHotwagner Oct 18, 2026
39e4853
fix: preserve existing unfiltered population view identity
EHotwagner Oct 18, 2026
f904ed2
fix: join hierarchy references to exact selected issue identities
EHotwagner Oct 18, 2026
79b275d
fix: distinguish non-completed parent closure reasons
EHotwagner Oct 18, 2026
b50ff48
fix: compose optional board section without discarding progress output
EHotwagner Oct 18, 2026
a5c47f3
feat: prepare exact coherent 0.107 successor release profile
EHotwagner Oct 18, 2026
d6ef71f
docs: bind finite source delivery while retaining parent acceptance
EHotwagner Oct 18, 2026
7e76d21
docs(atlas): record canonical coordinator and outcome delivery source…
EHotwagner Oct 18, 2026
e665304
ci: run actual product board materializer in ordinary source qualific…
EHotwagner Oct 18, 2026
dcd4e22
feat: prepare independent Creator 0.17 source version
EHotwagner Oct 18, 2026
25c2cc3
test: require complete product driver cohort and exclude optional ope…
EHotwagner Oct 18, 2026
c3c610e
Prepare explicit Creator 0.17 normal-source release profile
EHotwagner Oct 18, 2026
6f6f42a
ci: qualify actual Creator 0.17 package closure on ordinary PRs
EHotwagner Oct 18, 2026
d4048aa
docs(coordination): declare coordinator and Creator source boundaries
EHotwagner Oct 18, 2026
5b5ad63
docs(atlas): capture Creator source packaging and adoption boundary
EHotwagner Oct 18, 2026
72444b9
docs(programme): prioritize usable system capabilities and scoped sup…
EHotwagner Oct 18, 2026
99c2e8b
docs(atlas): capture selected system capability priorities
EHotwagner Oct 18, 2026
39f6885
Merge protected Host 0.7 source while preserving immutable source cit…
EHotwagner Oct 18, 2026
7bfa71e
docs(telemetry): record accepted Host 0.7 publication without receive…
EHotwagner Oct 18, 2026
5a051ae
docs(atlas): capture accepted Host 0.7 publication boundary
EHotwagner Oct 18, 2026
119b8e9
docs(coordination): distinguish observed selector from qualified call…
EHotwagner Oct 18, 2026
4a72048
docs(atlas): retain selector uncertainty without relabeling qualifica…
EHotwagner Oct 18, 2026
7700276
docs(coordination): record completed protected V2 cutover without reo…
EHotwagner Oct 18, 2026
9459c43
docs(atlas): reconcile actual protected V2 cutover and successor boun…
EHotwagner Oct 18, 2026
bf2c796
test: reconcile retired coordinator projections and live review citation
EHotwagner Oct 18, 2026
5cfa730
fix: reconcile current coordinator and Creator qualification contracts
EHotwagner Oct 18, 2026
ae5f171
fix: isolate Creator qualification and close coordinator instruction …
EHotwagner Oct 18, 2026
c92a2df
docs(atlas): preserve isolated Creator qualification and dependency b…
EHotwagner Oct 18, 2026
2466205
Exercise canonical parent acceptance refusal in semantic fixture
EHotwagner Oct 18, 2026
c18e7eb
Give recursive Creator mutation builds independent output roots
EHotwagner Oct 18, 2026
294f5c8
Remove analyst contract by content rather than trailing whitespace
EHotwagner Oct 18, 2026
d3eddc8
Align executable disclosure controls with canonical coordinator routes
EHotwagner Oct 18, 2026
85ebbbe
Close Creator candidate consumers over the isolated source build
EHotwagner Oct 18, 2026
9fc15ea
Bind source-flow controls to actual unique consumer commands
EHotwagner Oct 18, 2026
9e0aedc
Capture complete Creator caller isolation contract
EHotwagner Oct 18, 2026
ff66775
Isolate historical driver fixture from canonical instructions
EHotwagner Oct 18, 2026
5b8884d
Bind remaining recorded driver fixtures to isolated historical policy
EHotwagner Oct 18, 2026
6ecb0ea
Retain replay status through expected fixture termination
EHotwagner Oct 18, 2026
769ca79
Allow explicit isolated engine payload in maintained critic fixture
EHotwagner Oct 18, 2026
18a26ff
Isolate no-engine resolver fixtures from installed caller
EHotwagner Oct 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 10 additions & 27 deletions .agents/skills/agent-handoff/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,38 +40,21 @@ Check that the request landed before waiting for a reply. After a push or commen
- Make retries idempotent where possible. Before reposting after a timeout or tool error, check whether the original message landed; do not create duplicate requests or claim delivery from a local draft.
- A message is communication, not a state transition. Verify the actual issue, merge, published artifact, deployment, or test result before declaring completion.

## Conditional programme pilot

For the original outcomes and ROUTINEV3 source work in the [work-programme pilot](../work-programme/SKILL.md#conditional-three-outcome-pilot),
replace the fixed mailbox checks and unchanged-status reporting below only after protected delivery of
the reviewed governing change. Its deadline and session-start reconciliation are the detection route;
no notification service is an activation condition. Until protected delivery, keep the current route.

After activation, post an outcome update when a deliverable is ready, a blocker appears or clears, a
decision is needed or a promised delivery time changes; publish one daily programme summary while active.
Use the six-field owning issue as current state and link native evidence and necessary private context.
External requests retain the canonical channel/request identity, owner, expected response, response
deadline, escalation time and last complete successful read in the existing issue or private handoff.
Read each pending thread at session start/resume and at its agreed deadline; check earlier on a useful
notification, user request or before an action depends on the reply. Reconcile changed replies since the
last complete read; when that baseline is absent or unreliable, read the full thread. A failed, partial,
inaccessible or conflicting read means reply status unknown: retain the prior position and affected hold.
At a missed deadline, send one follow-up or escalate only if progress is blocked, with a new deadline.
For every still-pending or unknown request, record a next observation deadline even when no comment is
needed; a failed read never becomes a successful baseline. The next deadline follows the request's
response contract or a concrete recovery need, not a fixed polling interval.
Before reposting, verify the expected reply or an equivalent follow-up did not already land. Notifications
are optional hints, never authority. Silence cannot admit an operation, replay or reservation release;
preserve original identities, unknown effects, custody and every unresolved reservation. At session exit,
transfer pending monitoring explicitly; never imply background checks continue.
This exception changes neither consequential-action verification nor operation-specific admission.
## Coordinator handoffs

Apply canonical [work-board](../work-board/SKILL.md) ownership, material-event reporting and
session-start/deadline reply reconciliation. Use the existing owning issue/native evidence and private
context; no duplicate status table or fixed unchanged-mail polling. Retain canonical request identity,
owner, expected answer, response/escalation and next-observation deadlines and last complete read.
A failed/partial/conflicting read keeps Unknown and its hold. Before reposting verify the equivalent
reply/follow-up did not already land. Silence grants no operation, replay or release. Transfer pending
monitoring explicitly at session exit; never imply background checks continue.

## Maintain the loop

- Outside the activated pilot and ROUTINEV3 source extension, during an active handoff or mailbox-monitoring session, check the chosen mailbox at least once every five minutes, measured from the last successful remote read. A shorter requested interval or time-sensitive reply may require earlier checks. Record the last check and the next due time; continue independent work between checks. If a blocking operation makes a check late, read the mailbox immediately afterward and report the gap. Do not imply that checks continue after the session ends unless a real scheduled mechanism is installed.
- On new mail, acknowledge the request by taking the owned action or replying with a precise blocker and a new owner. Avoid acknowledgment-only traffic.
- If an owner cannot act, route the smallest missing decision or access request to the person who can resolve it. Escalate to the user when there is no viable agent path, with the decision needed and the consequence of waiting.
- Outside the activated pilot and ROUTINEV3 source extension, in user updates, report the last check time, new information, each owner's working/waiting status, the next roadmap gate, and verification status. Say “no new mail” when that is the result; do not suggest progress from silence. In the pilot, update only for the material events above and in the daily programme summary.


An active handoff does not end merely because a local action finished, a request was sent, or another owner or the user must reply. Keep checking the manual mailbox through the agreed reply time, act on the response, and do independent work while waiting. Required user authentication pauses only the work that depends on it.

Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/atlas/assets/seed/catalog.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"citations":[{"path":".agents/skills/work-board/SKILL.md","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"a1ec1f682fc3a64bbb6f9cb733884e8e8cee73f7c12d21010aa0a115494e39b7"},{"path":".agents/skills/work-board-normal/SKILL.md","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"b68325c5a86b3b7a68c8933f077569f86e3b89f4e7fc46925e9dfffa1ed4b8f2"},{"path":".agents/skills/work-board-best/SKILL.md","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"d92ba9158f45989a3804da02d5a143681c42aa7efc96cd2cc0468eb38d92f406"},{"path":"docs/roadmaps/unified-programme-driver.md","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"60fc4051c1dd804cbba61c6820e83106feaf1fe75b8c6c097748bfc9a59a37b8"},{"path":"docs/coordination/2026-09-29-coordination-v2-board-design.md","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"7bef32689fb41ad1c879f830f8f066ad7dabc3ffee6a003f5f2ae79e7921e0d6"},{"path":"src/FS.GG.Coord.GitHub/V2Projection.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"c6c4907b54028322b13d112e08f8050482c80165fb359f475f3e595c8ed05c96"},{"path":"src/FS.GG.Coord.GitHub/V2ProjectionSource.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"c65dced92d7521ec2f79b0fb645d2d220e365d1322b4d96055b0f344494aa138"},{"path":"src/FS.GG.Coord.Cli/BoardV2Application.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"d7931bbad7f80284978acc14f1bb7f6be60f4378fd1974392eff396e5f57a13b"},{"path":"src/FS.GG.Coord.GitHub/V2Migration.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"61d23a41f24e75e72d914797bb33da4042df475ff848feee1d4a4f796a6b6d7e"},{"path":"src/FS.GG.V2.Progress/ProgressRenderer.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"2fb3b66235343cd5b8e2cfbc5a3cb2c751670e788bdcd016a3104c2c298b656e"},{"path":"src/FS.GG.Drivers/stage-drivers.py","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"5a941403e6ca0f6a07c0b1be4b0acc6cd481f373cfc316514c4cb9131cf18180"},{"path":"scripts/NewSddWorkspace/ProductBoard.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"91fdb7a7bef62ac6d9becee95b0efc94df984feb5a7f56f445f2882225f17c42"},{"path":"scripts/release_successor_journal.py","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"bfa33bf1bd5d7e08b9e778bd877ce837d6ae32a1b4d964ce074555db028df3a8"},{"path":"scripts/generate-driver-manifest","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"908ea681a81aacfdd8728a12743e417c830f35c0c2b5ff30119491054bf4d615"},{"path":"tests/coord-board-v2-projection/V2ProjectionTests.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"43fccf3d36078fffdf56c9ee115b6a99cc81fc7b833ac8fe74c4afcb72ad0a2a"},{"path":"tests/coord-board-v2-cli-join/BoardV2MigrationTests.fs","repository":"FS-GG/.github","revision":"d6ef71ffa0c5dc1052c5a5ffe37027f8dafebe97","sha256":"0a139023e688ed8a6b7ce9a203d06d36fd0dc5efb2b98edc7183511222c48aef"}],"conflictsWith":[],"id":"github/v2-programme-inspection-source-boundary","kind":"boundary","recordedAt":"2026-10-18T15:25:44Z","repository":"FS-GG/.github","schema":"fsgg.atlas/1","status":"recorded","summary":"Canonical work-board owns common organization/product coordination, recovery, capacity, qualification, delivery, telemetry and progress instructions. Necessary recovery/routine/handoff entrypoints are dependency-closed in Drivers; historical work-programme instructions and helper paths are finite compatibility redirects, not a second planner. Roadmap remains the legitimate native field, roadmap-telemetry the external command, and persisted programme wire/helper identities retain explicit compatibility. Strategic plans retain full technical acceptance/history without duplicate current-status or closure upkeep. Normal Codex routing is gpt-6.1-sol medium and best is gpt-6-astra high; unsupported exact routing refuses dispatch rather than silently substituting. No dispatch, fixed wave or extra approval loop is mandatory. Ordinary source uses one exact independent review and required CI, with actual changed assertions run early and final compatible base assembled before costly qualification.\n\nThe selected organization successor adds binding5/schema3 with exactly one Work level SINGLE_SELECT field and exact Outcome/Delivery field/option identities, inspection/3 bounded native hierarchy and integrator-observations/2 hierarchy-digest joins. Outcome preserves the complete owning promise, including undecomposed installed, restart, rollback and participant requirements. Only explicitly enrolled Delivery identities may be selected; linked unenrolled children remain visible and unschedulable. Missing or partial relevant relationships, issue/node mismatches in either direction, contradictions or cycles remain scoped Unknown. A parent's incomplete child coverage withholds parent rollup but does not automatically block an independently complete child. Parent/sibling Blocked is not an automatic prerequisite; action-relevant native/plan prerequisites remain binding. Original owner/slice/attempt/PR/head continuation consumes no fresh implementation demand and never creates a duplicate assignment or reservation.\n\nThe authenticated private enrollment-payload/v1 issue/node/Roadmap triples and public commitment/v3 are unchanged. A private binding carries a32-byte nonce and canonical padded Base64 of exact UTF-8 payload bytes. Commitment hashing retains the domain/NUL, nonce, unsigned eight-byte big-endian length and original bytes, not a reserialization. Public enrollment remains exactly schema plus digest, with no public identities or private-derived fingerprints. Binding/payload bounds remain256KiB/128KiB with depth16 and closed duplicate/unknown/missing/encoding refusals. Protected authentication precedes selected source reads; final protected-main/blob/digest currentness follows slow inspection and remains before Observation writes or Verified no-ops. Offline pair construction shares the runtime validator, preserves exact payload bytes and exclusive durable original outputs, and establishes preparation only. Binding4/schema2/inspection2 and product3/schema1 retain their actual qualified behavior; old observation provenance remains admitted, while the new canonical path needs a qualified successor. No runtime model fallback or silent selector/binding/enrollment transition follows from loading instructions.\n\nOwning declarations retain exactly Owner, Done when, Current deliverable, Next action, Blocked on and Acceptance evidence. Mixed/duplicate/ambiguous fields remain gaps; fenced examples never supply declarations. Exact None alone declares no current work. Non-PR and mixed genuine current-work declarations remain visible and require the existing exact scoped current-deliverable prerequisite, joined to fresh body/source/owner/slice/attempt/native PR facts. Arbitrary history and Next action never manufacture a current owner or PR. Full native membership reconciliation, relevant original uncertain reservations, intake and remaining-after-active capacity remain independent determining facts.\n\nInspection exposes raw scoped acceptance fields, bounded parent/direct-child identities, completeness/digest, native state reason/date and explicit unverified acceptance. COMPLETED is distinct from NOT_PLANNED or DUPLICATE. Read-only progress reports native completion dates and scoped delivery evidence separately from parent promises; missing relationship metadata is Unknown, never complete empty coverage, and counts are not percentages. One accountable owner reconciles authorized native issue/Status/evidence effects and parent remaining assertions, retaining partial effects after interruption. No legacy automatic parent climb or second acceptance ledger is introduced. Merged source, all children closed, deferred requirements and healthy Observation refresh cannot satisfy missing parent scope. Refresh writes no Work level, Status, Track, Roadmap or closure intent.\n\nThe maintained typed migration writer adds an optional exact Work level plan through version2 prepared/readback forms; legacy forms remain unchanged. Creation is one exact typed effect followed by correlated independent field/option readback, then only explicitly selected absent classifications. Equal values are no-ops; conflicting/unreadable values and unexpected same-name fields refuse. Native membership is not enrollment. Selected existing view IDs, layout, column order and orthogonal grouping/sorting settings remain preserved; only explicit Work level column append is allowed. The existing All items identity/name cannot be renamed or filtered to bypass the unfiltered population view. Compare-before-write is not CAS; the existing finite participating single-writer window, request bounds, original durable journals and independent readback remain mandatory. Uncertain sends never replay or become inferred no effect.\n\nCoherent0.107 source includes the exact prospective release profile for promoted0.106 predecessor and journal25; its availability and publication need fresh operational admission. The sole canonical skill becomes normally discoverable while other explicit-only variants retain policy. Source staging validates the actual packaged dependency/link closure and ProductBoard materialization derives driver membership from that manifest. Package existence or metadata does not prove runtime-selected discovery: selected absolute paths, project overrides and the loaded runtime catalog require real consumer evidence. Source delivery, publication, installed instruction discovery, executing caller qualification, native field/classification/enrollment/views and consumer adoption are separate gates. Source delivery4677 cannot close outcome4641's installed/restart/rollback promise. Accepted prior cutover and published/installed versions retain their own scope. Original restore/compiler/fixture/review failures remain retained; unavailable historical searches are not revived, and439 inherited plus46 later originals remain Unknown/unreleased. This source capture establishes no live mutation, new cutover, performance benefit or installed adoption.","supersedes":["edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1"],"tags":["coordination","outcome","delivery","hierarchy","enrollment","compatibility","source","qualification","discovery"],"title":"Canonical coordinator and explicit outcome delivery successor preserve scoped authority"}
Loading
Loading