Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
69 changes: 57 additions & 12 deletions codex/skills/threadsmith/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,11 @@ Examples:
existing consumer, and close out once
- single-role drive: the user asks specifically for reviewer only, verifier
only, or "do not implement"
- stop-gate fallback: adding a CLI command, API endpoint, UI route, provider
- stop-gate fallback: adding a user-public CLI / API / UI route, provider
default, public sync, tag, publish, migration, delete, or reset must pause for
operator review
operator review. Developer-only local CLI / docs / harness helpers may stay in
the work session when local, reversible, clearly non-public, and inside the
accepted scope.

### Work-Session Truth Writeback

Expand Down Expand Up @@ -314,23 +316,65 @@ Definitions:

Use the smallest closeout tier that still preserves orientation and safety:

- `lite`: small or low-risk work. Required fields: changed, verification, truth
(`updated`, `unchanged`, or `skipped with reason`), next, and optional risk.
- `standard`: normal bounded implementation. Required fields: result, changed
capability, verification, truth, remaining risk, and next phase.
- `daily-progress`: ordinary `light-repair` or `normal-implementation` work
inside approved scope. Use the compact Progress Card.
- `lite`: small or low-risk work. Required fields: changed, verification,
next, and optional risk.
- `standard`: normal bounded implementation. Prefer Progress Card unless a real
boundary needs the full skeleton.
- `audit`: release, PR / merge, public docs, destructive operations,
architecture boundaries, provider routing, security, or cross-agent state. Use
the full Threadsmith Output Contract skeleton.

Use boundary full output for `recover`, bootstrap, audit closeout, accepted
phases, phase-boundary reports, and any response that changes durable truth in a
way that affects route, scope, acceptance, release, or cross-agent state.
Use boundary full output for `recover`, bootstrap, audit closeout, release /
PR / merge / destructive / provider / public behavior / cross-agent boundaries,
and any response that changes durable truth in a way that affects route, scope,
acceptance, release, or cross-agent state.

### Daily Progress Card

Use Daily Progress when no hard safety / recover / audit gate is active and the
work is inside an approved scope.

```text
本轮完成:
- 新增/修复了什么能力。

关键改动:
- 只列关键代码、文档、测试或命令。

验证:
- 跑了什么,结果是什么。
- 没跑什么,有什么风险。

记录状态:
- updated / unchanged / skipped only when durable writeback changed or omission would confuse the operator.

下一步:
- 建议做什么。
- 为什么现在做它。
- 什么情况需要停下来问你。

需要你决定:
- 只有真正改变路线、边界、验收、真实数据、provider、发布或破坏性操作时才出现。
```

Do not show `Threadsmith Decision` in daily progress output.

Output selection precedence:

1. recover / audit gates and hard stop conditions
2. explicit full audit request, or direct explanation without execution
3. explicit compact answer request only when no hard gate is active
4. daily progress eligibility
5. ordinary sync / drive / continuous output defaults

## Closeout Output Gate

Before writing the final response, check whether the current action crossed a
phase or slice boundary. If any two of these signals are present, the response
is a closeout or phase-boundary report and must use boundary full output:
phase or slice boundary. If any two of these signals are present, and Daily
Progress is not eligible, the response is a closeout or phase-boundary report
and must use boundary full output:

- the work is described as completed, accepted, closed out, or ready for the
next phase
Expand All @@ -346,7 +390,8 @@ and "下一步建议...". Those sentences may appear inside the required full
output fields, but they cannot replace the skeleton.

Threadsmith output rules override the default concise Codex final style for
closeout and phase-boundary reports.
audit closeout and real phase-boundary reports. Daily Progress overrides the
full skeleton for ordinary approved work.

Use internal progress output for routine role-chain handoffs inside an approved
phase, such as executor -> reviewer, reviewer -> verifier, or verifier ->
Expand Down
61 changes: 51 additions & 10 deletions codex/skills/threadsmith/references/action-contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,10 +276,12 @@ Use work-session continuation when:
- truth can be written at the session boundary without hiding a blocker.

Do not bundle work into a work session when the next action changes product
semantics, exposes a new UI route / API endpoint / CLI command / public
integration, changes provider defaults, requires credentials, publishes,
semantics, exposes a new user-public UI route / API endpoint / CLI command /
public integration, changes provider defaults, requires credentials, publishes,
merges, tags, deletes, resets, migrates data, contradicts committed truth, or
repairs a failed verification whose path is uncertain.
repairs a failed verification whose path is uncertain. Developer-only local CLI
or docs helpers may remain bundled when they are reversible, non-public, and
inside the accepted scope.

Short approvals such as "同意,请使用 Threadsmith 推进" may continue an accepted
work session until a natural stop. If the user asks for one explicit role or one
Expand Down Expand Up @@ -508,11 +510,49 @@ Boundary full output is required for:

- `recover`
- bootstrap
- closeout
- accepted phases
- phase-boundary reports
- audit closeout
- release / PR / merge / destructive / provider / public behavior /
cross-agent boundaries
- phase-boundary reports that are not eligible for Daily Progress
- any response that writes or proposes durable truth changes

Daily Progress output is required for ordinary `light-repair` or
`normal-implementation` work inside approved scope when no hard safety /
recover / audit gate is active.

Daily Progress Card shape:

```text
本轮完成:
- ...

关键改动:
- ...

验证:
- ...

记录状态:
- updated / unchanged / skipped only when useful.

下一步:
- ...

需要你决定:
- only when there is a real route, scope, acceptance, data, provider, release,
destructive, or product boundary decision.
```

Do not show `Threadsmith Decision` in Daily Progress output.

Output selection precedence:

1. recover / audit gates and hard stop conditions
2. explicit full audit request, or direct explanation without execution
3. explicit compact answer request only when no hard gate is active
4. daily progress eligibility
5. ordinary sync / drive / continuous output defaults

Internal progress output is enough for routine role-chain handoffs inside an
approved phase:

Expand All @@ -535,14 +575,15 @@ do not write `.threadsmith/`, and label the source layer for factual claims.

## Phase Narrative Rule

For closeout, accepted phases, or any response that introduces the next phase,
Threadsmith must produce a phase narrative, not only a protocol status list.
For audit closeout, major accepted phases, or any non-daily-progress response
that introduces the next phase, Threadsmith must produce a phase narrative, not
only a protocol status list.

### Closeout Output Gate

Before finalizing the response, check whether the action crossed a durable
phase or slice boundary. If any two closeout signals are present, boundary full
output is mandatory:
phase or slice boundary. If any two closeout signals are present and Daily
Progress is not eligible, boundary full output is mandatory:

- completed, accepted, closed out, or ready for next phase
- commit, PR, merge, release, tag, truth writeback, packet update, or closeout
Expand Down
10 changes: 10 additions & 0 deletions codex/skills/threadsmith/references/role-contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,16 @@ Writeback tier guard:
- `committed-truth`: update acceptance/status/supervision/phase history only
when durable project state changed.

Daily role packet sparsening:

- do not rewrite planner / executor / reviewer / verifier / closeout packets for
ordinary Progress Cards.
- refresh full role packets only for handoff, recovery, full-governance,
cross-agent work, release / public docs, major architecture decisions, or
explicit operator request.
- if skipped packet facts are needed for the next turn, write current-context or
evidence-summary instead.

Forbidden writes:

- new implementation scope
Expand Down
3 changes: 3 additions & 0 deletions codex/skills/threadsmith/references/runtime-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,9 @@ deterministic from state:
- surface audience: `internal`, `developer`, `operator`, or `user_public`
- work visibility: `internal`, `developer_visible`, `operator_visible`, or
`user_visible`
- output shape: `progress-card`, `audit-skeleton`, or `compact`
- role packet policy: `skip-daily` or `refresh-durable`
- writeback status visibility: `omit`, `optional`, or `required`

For heartbeat-compatible closeout evidence, record these fields when available:

Expand Down
Loading
Loading