nobrainer-tech-flow 0.0.0-stage → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +18 -0
  3. package/.claude-plugin/plugin.json +21 -0
  4. package/.codex-plugin/plugin.json +47 -0
  5. package/.opencode/INSTALL.md +37 -0
  6. package/.opencode/plugins/nobrainer-tech-skills.js +66 -0
  7. package/.pi/extensions/nobrainer-tech-skills.js +64 -0
  8. package/AGENTS.md +205 -0
  9. package/CLAUDE.md +205 -0
  10. package/CONTRIBUTING.md +70 -0
  11. package/GEMINI.md +1 -0
  12. package/LICENSE +21 -0
  13. package/README.md +659 -2
  14. package/SECURITY.md +33 -0
  15. package/adapters/bootstrap.md +27 -0
  16. package/assets/nobrainer-tech-logo.svg +1 -0
  17. package/assets/nobrainer-workflow.svg +155 -0
  18. package/assets/plugin-logo.png +0 -0
  19. package/bin/nobrainer-tech-flow.mjs +48 -0
  20. package/docs/BOUNDED_RUNNER.md +60 -0
  21. package/docs/CHAT_PLUGINS.md +29 -0
  22. package/docs/COMPATIBILITY.md +371 -0
  23. package/docs/INSTALL.md +626 -0
  24. package/docs/MIGRATION_TO_FLOW.md +117 -0
  25. package/docs/NAMING.md +39 -0
  26. package/docs/PRIVACY.md +9 -0
  27. package/docs/RELEASING.md +24 -0
  28. package/docs/SESSION_RESTART.md +70 -0
  29. package/docs/SKILL_CURATION.md +124 -0
  30. package/docs/TESTING.md +232 -0
  31. package/docs/TRY_IT.md +109 -0
  32. package/docs/releases/v1.0.0.md +81 -0
  33. package/docs/releases/v1.1.0.md +85 -0
  34. package/docs/releases/v1.10.0.md +34 -0
  35. package/docs/releases/v1.11.0-publication-readback.md +25 -0
  36. package/docs/releases/v1.11.0.md +42 -0
  37. package/docs/releases/v1.12.0.md +30 -0
  38. package/docs/releases/v1.13.0.md +46 -0
  39. package/docs/releases/v1.14.0.md +43 -0
  40. package/docs/releases/v1.14.1.md +21 -0
  41. package/docs/releases/v1.2.0.md +87 -0
  42. package/docs/releases/v1.2.1.md +92 -0
  43. package/docs/releases/v1.3.0-publication-readback.md +69 -0
  44. package/docs/releases/v1.3.0.md +66 -0
  45. package/docs/releases/v1.3.1-publication-readback.md +76 -0
  46. package/docs/releases/v1.3.1.md +59 -0
  47. package/docs/releases/v1.4.0-publication-readback.md +81 -0
  48. package/docs/releases/v1.4.0.md +43 -0
  49. package/docs/releases/v1.5.0-publication-readback.md +76 -0
  50. package/docs/releases/v1.5.0.md +54 -0
  51. package/docs/releases/v1.6.0.md +64 -0
  52. package/docs/releases/v1.6.1-publication-readback.md +53 -0
  53. package/docs/releases/v1.6.1.md +82 -0
  54. package/docs/releases/v1.7.0.md +42 -0
  55. package/docs/releases/v1.7.1-publication-readback.md +64 -0
  56. package/docs/releases/v1.7.1.md +49 -0
  57. package/docs/releases/v1.8.0.md +63 -0
  58. package/docs/releases/v1.8.1.md +32 -0
  59. package/docs/releases/v1.9.0.md +33 -0
  60. package/docs/releases/v2.0.0-candidate.md +28 -0
  61. package/docs/releases/v2.0.0.md +53 -0
  62. package/docs/releases/v2.0.1.md +135 -0
  63. package/docs/releases/v2.0.2.md +189 -0
  64. package/docs/releases/v2.1.0.md +64 -0
  65. package/docs/releases/v2.1.1.md +43 -0
  66. package/docs/releases/v2.2.0.md +64 -0
  67. package/docs/releases/v2.2.1.md +11 -0
  68. package/docs/releases/v2.3.0.md +97 -0
  69. package/docs/releases/v2.3.1.md +71 -0
  70. package/docs/releases/v2.3.2.md +242 -0
  71. package/docs/releases/v2.4.0.md +126 -0
  72. package/docs/releases/v2.4.1.md +63 -0
  73. package/gemini-extension.json +6 -0
  74. package/hooks/claude-hooks.json +17 -0
  75. package/hooks/hooks-cursor.json +10 -0
  76. package/hooks/run-hook.cmd +36 -0
  77. package/hooks/session-start +38 -0
  78. package/package.json +69 -4
  79. package/plugin.json +51 -0
  80. package/scripts/build_plugin.py +50 -0
  81. package/scripts/check_flow_update.py +18 -0
  82. package/scripts/check_public_commit.py +86 -0
  83. package/scripts/fetch_public_refs.py +69 -0
  84. package/scripts/install.py +600 -0
  85. package/scripts/install.sh +1420 -0
  86. package/scripts/install_guards.py +279 -0
  87. package/scripts/install_personalization.py +527 -0
  88. package/scripts/install_skills.py +951 -0
  89. package/scripts/npm_install.py +85 -0
  90. package/scripts/recommend_flow_setup.py +1537 -0
  91. package/scripts/validate_skills.py +465 -0
  92. package/skills/nobrainer-auto-fine-tune/SKILL.md +79 -0
  93. package/skills/nobrainer-auto-fine-tune/references/capacity-audit.md +49 -0
  94. package/skills/nobrainer-autoimprove/SKILL.md +212 -0
  95. package/skills/nobrainer-autoimprove/scripts/count_words.py +22 -0
  96. package/skills/nobrainer-browser/SKILL.md +234 -0
  97. package/skills/nobrainer-browser/references/cdp-profile-restart.md +93 -0
  98. package/skills/nobrainer-build/SKILL.md +173 -0
  99. package/skills/nobrainer-codex-context/SKILL.md +111 -0
  100. package/skills/nobrainer-codex-context/scripts/codex_context.py +175 -0
  101. package/skills/nobrainer-decide/SKILL.md +198 -0
  102. package/skills/nobrainer-dispatcher/SKILL.md +256 -0
  103. package/skills/nobrainer-dispatcher/agents/openai.yaml +4 -0
  104. package/skills/nobrainer-rca/SKILL.md +163 -0
  105. package/skills/nobrainer-research/SKILL.md +131 -0
  106. package/skills/nobrainer-review/SKILL.md +195 -0
  107. package/skills/nobrainer-security/SKILL.md +166 -0
  108. package/skills/nobrainer-sessions/SKILL.md +223 -0
  109. package/skills/nobrainer-sessions/references/evidence-receipt.md +55 -0
  110. package/skills/nobrainer-sessions/references/protocol.md +337 -0
  111. package/skills/nobrainer-sessions/references/session-restart.md +255 -0
  112. package/skills/nobrainer-sessions/scripts/evidence_receipt.py +373 -0
  113. package/skills/nobrainer-sessions/scripts/restart_gate.py +140 -0
  114. package/skills/nobrainer-sessions/scripts/run_bounded.py +390 -0
  115. package/skills/nobrainer-sessions/scripts/session_title.py +43 -0
  116. package/skills/nobrainer-skill-doctor/SKILL.md +149 -0
  117. package/skills/nobrainer-skill-doctor/references/astra.md +19 -0
  118. package/skills/nobrainer-skill-doctor/scripts/audit.py +100 -0
  119. package/skills/nobrainer-skill-doctor/scripts/context_candidates.py +133 -0
  120. package/skills/nobrainer-spec-driven-development/SKILL.md +132 -0
  121. package/skills/nobrainer-spec-driven-development/references/spec-template.md +114 -0
  122. package/skills/nobrainer-team/SKILL.md +165 -0
  123. package/skills/nobrainer-team/references/team-plan.md +64 -0
  124. package/skills/nobrainer-tech-flow/SKILL.md +239 -0
  125. package/skills/nobrainer-tech-flow/VERSION +1 -0
  126. package/skills/nobrainer-tech-flow/references/autopilot.md +72 -0
  127. package/skills/nobrainer-tech-flow/references/codex-routing.md +21 -0
  128. package/skills/nobrainer-tech-flow/references/communication.md +108 -0
  129. package/skills/nobrainer-tech-flow/references/correction-hooks.md +110 -0
  130. package/skills/nobrainer-tech-flow/references/daily-update.md +28 -0
  131. package/skills/nobrainer-tech-flow/references/delivery.md +243 -0
  132. package/skills/nobrainer-tech-flow/references/idea-to-delivery.md +82 -0
  133. package/skills/nobrainer-tech-flow/references/long-run-state.md +209 -0
  134. package/skills/nobrainer-tech-flow/references/model-routing.md +83 -0
  135. package/skills/nobrainer-tech-flow/references/optional-decisions.md +83 -0
  136. package/skills/nobrainer-tech-flow/references/project-start.md +22 -0
  137. package/skills/nobrainer-tech-flow/references/routing.md +125 -0
  138. package/skills/nobrainer-tech-flow/references/setup.md +180 -0
  139. package/skills/nobrainer-tech-flow/references/worktrees.md +138 -0
  140. package/skills/nobrainer-tech-flow/scripts/check_flow_update.py +298 -0
  141. package/skills/nobrainer-tech-flow/scripts/cleanup_worktree.py +327 -0
  142. package/skills/nobrainer-tech-flow/scripts/decision_config.py +107 -0
  143. package/skills/nobrainer-tech-flow/scripts/flow_guard.py +252 -0
  144. package/skills/nobrainer-tech-flow/scripts/typed_decisions.py +210 -0
  145. package/skills/nobrainer-wiki/SKILL.md +164 -0
  146. package/skills/nobrainer-wiki/references/setup.md +88 -0
  147. package/skills/nobrainer-writing/SKILL.md +272 -0
  148. package/skills/nobrainer-writing/agents/openai.yaml +4 -0
  149. package/skills/nobrainer-writing/references/brief-artifacts.md +357 -0
  150. package/skills/nobrainer-writing/references/plain-technical-english.md +76 -0
  151. package/skills/nobrainer-writing/references/research.md +86 -0
@@ -0,0 +1,64 @@
1
+ # Team plan template
2
+
3
+ Use this only after work units and acceptance exist. Keep one canonical plan;
4
+ do not duplicate live state or session IDs in unrelated documents.
5
+
6
+ ```text
7
+ TEAM_PLAN_ID:
8
+ OUTCOME:
9
+ ACCEPTANCE:
10
+ MAIN_SESSION_TITLE: <repo> | MAIN
11
+ SESSION_MODE: MAIN | MULTI_SESSION
12
+ MAX_ACTIVE_WORKERS:
13
+ ATTENTION_BUDGET:
14
+
15
+ WORK_UNITS
16
+ - ID:
17
+ OUTCOME:
18
+ METHOD: NOBRAINER_SKILL | PROJECT_NATIVE | TEMPORARY_REVIEWED_SKILL | DIRECT
19
+ CAPABILITY:
20
+ CAPABILITY_SOURCE_REF:
21
+ OWNER_ROLE:
22
+ SESSION_TITLE:
23
+ DEPENDENCIES:
24
+ PARALLEL_GROUP:
25
+ INPUTS:
26
+ WRITE_SCOPE:
27
+ EXCLUDED_SCOPE:
28
+ ACCEPTANCE:
29
+ EVIDENCE:
30
+ REPORT_TO:
31
+ STOP_CONDITION:
32
+ ROLLBACK:
33
+
34
+ CAPABILITY_GAPS:
35
+ EXTERNAL_SKILL_AUDITS:
36
+ REJECTED_ROLES_AND_REASON:
37
+ EXPECTED_CRITICAL_PATH_GAIN:
38
+ COORDINATION_COST:
39
+ OWNER_GATES:
40
+ ```
41
+
42
+ `SESSION_MODE` describes visible topology, not native-worker count. A single
43
+ visible MAIN may coordinate many native workers under
44
+ [team execution](../../nobrainer-tech-flow/references/delivery.md#coordinated-team-execution).
45
+ Record unknown estimates as `UNKNOWN`; they do not block eligible dispatch.
46
+
47
+ For each external candidate record exact source/ref, discovered name, inspected
48
+ files, scripts not run, permissions, network/credential behavior, trigger
49
+ overlap, license, temporary-use method and removal/rollback.
50
+ # Capability coverage for durable plans
51
+
52
+ Use the existing plan to record: needed capability, applicable dimension,
53
+ searched candidate IDs, selected ID/source/ref, rejected IDs with reasons,
54
+ reviewed-file hashes, evidence and unresolved gap. Record `UNKNOWN` for a need
55
+ not yet checked, `CAPABILITY_GAP` for a checked need with no suitable capability,
56
+ and `NOT_APPLICABLE` for a dimension deliberately excluded. Review architecture,
57
+ runtime, framework, domain, data, integrations, tests, security, UX, operations and maintenance when
58
+ they apply. A selected skill name alone cannot close the coverage row.
59
+
60
+ Do not create a durable selection artifact for one obvious local operation.
61
+ On later reuse, compare reviewed source/ref and hashes before trusting a
62
+ selection. Hash every reviewed file with SHA-256, including unexecuted references
63
+ and scripts. Keep this record with the approved plan and evidence, not a separate
64
+ mutable catalog that can drift from the actual assignment.
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: nobrainer-tech-flow
3
+ description: "Use when the owner says NBFlow, NBF or nobrainer-tech-flow, or asks to set up, start, resume or complete a coding or non-coding task. Scope the outcome, coordinate useful native workers and verify delivery."
4
+ ---
5
+
6
+ # nobrainer-tech-flow
7
+
8
+ Skill: `nobrainer-tech-flow`. `NBFlow` and `NBF` are natural-language
9
+ shortcuts; explicit skill loading remains client-dependent.
10
+ Use [communication](references/communication.md): plain technical English between agents; natural user-language replies.
11
+
12
+ For non-trivial work read [routing](references/routing.md). Preserve host model/effort;
13
+ consult [model routing](references/model-routing.md) when selecting them.
14
+ Setup/upgrade/repair uses [setup](references/setup.md); corrections use
15
+ [correction hooks](references/correction-hooks.md); gated resumability uses
16
+ [long-run state](references/long-run-state.md).
17
+ Repository work follows the [task worktree lifecycle](references/worktrees.md).
18
+
19
+ ## Automatic session care
20
+
21
+ For resumable, long or delegated work with `nobrainer-sessions` installed, run Sessions [startup and health](../nobrainer-sessions/references/session-restart.md#automatic-start-and-observation); otherwise stay in MAIN.
22
+ Restart or archive needs separate owner consent and verified takeover.
23
+
24
+ ## Current instructions
25
+
26
+ At first use per local calendar day, check the installed Flow version against
27
+ the latest stable published release using
28
+ [daily update](references/daily-update.md). Inform the user when an update
29
+ exists. Apply a verified upgrade within recorded standing authorization;
30
+ otherwise prepare the exact upgrade and ask before its consequential writes.
31
+ No active client or scheduler means no background daily guarantee.
32
+
33
+ ## Choose the smallest workflow
34
+
35
+ ### Quick path for small changes
36
+
37
+ For a clear low-risk answer, rewrite, calculation or one coherent, reversible edit,
38
+ deliver and check directly. Chat-only work needs no repository or tools.
39
+ For file edits inspect instructions, actual files and the nearest deterministic check;
40
+ use checkout, dirty state and `git diff --check` only in a Git repository.
41
+ Skip ledger, delegation, review and startup care. Escalate to the full Flow lifecycle
42
+ for ambiguity, architecture, public behavior, routing or consequential
43
+ side effects; quick path never bypasses an owner gate.
44
+
45
+ For substantial work, delegate all independent ready units promptly through
46
+ [team execution](references/delivery.md#coordinated-team-execution); MAIN coordinates,
47
+ integrates, verifies and refills slots. Use [Auto Fine Tune](../nobrainer-auto-fine-tune/SKILL.md)
48
+ for first-setup capability checks; benchmark only when calibration pays.
49
+ Unavailable native workers leave work in MAIN; visible conversations require explicit owner request
50
+ or authorized MAIN restart; isolation, reuse or handoff alone never authorize one.
51
+
52
+ Lifecycle: `DRIFT_CHECK -> BUDDY -> SCOPE -> AUTOPILOT -> VERIFY -> RECEIVE_AUDIT -> LEARN`.
53
+
54
+ For resumable or delegated work use `SESSION_HEALTH_GATE` and `RUNTIME_RELEASE`
55
+ from the long-run reference.
56
+ Finish when accepted; audit active workers. Use `OWNER_DECISION_REQUIRED` only
57
+ when unfinished work needs an owner decision.
58
+
59
+ ## `DRIFT_CHECK`: establish current truth
60
+
61
+ Inspect the actual inputs, instructions and required capabilities; for project work include dirty state, callers, tests and existing plan/spec. Preserve unrelated work. Prior summaries, wiki and worker reports are context, not proof; query wiki only for a decision or lesson that can change this task.
62
+ Research current, external, niche, uncertain, high-stakes or attributed facts. For large documents or data and repositories, inspect structure first, then read selected contracts in full and relevant ranges; respect context budget and name unread required surface.
63
+
64
+ At first project use, follow [project start](references/project-start.md) for
65
+ the existing tree/layers, goal direction and wiki boundary.
66
+
67
+ `PROBLEM_GATE`: start with the literal failure and local evidence; do not infer that a documented command produced the failure. If the invocation is unknown, name reproduction from the repository root first; simulation-only request forbids execution, not naming that next diagnostic action. Only then propose path, dependency or configuration changes. Check related wiki decisions. Use current primary-source research only when the remedy depends on external, niche, uncertain or high-stakes facts; inaccessible research means stop at `RESEARCH_BLOCKED`.
68
+
69
+ ## `BUDDY`: clarify once
70
+
71
+ Use one focused requirements round only when evidence cannot resolve scope,
72
+ architecture, safety or acceptance. Code, schema, tests or conventions settle it;
73
+ do not make them owner questions. Ask only questions whose answers change the result;
74
+ if scope is already clear, proceed immediately. Establish:
75
+
76
+ - observable outcome, audience and quality bar;
77
+ - target-workflow proof;
78
+ - exclusions and consequential side effects;
79
+ - owner-gated actions;
80
+ - unresolved choices that materially affect the design.
81
+
82
+ Use `nobrainer-decide` for consequential choices.
83
+ For ideas, read [idea to delivery](references/idea-to-delivery.md).
84
+ Use `nobrainer-spec-driven-development` when requested or architecture, interfaces, migration, rollback, dependencies or resumability justify it.
85
+
86
+ ## Scope the minimum sufficient change
87
+
88
+ Before non-trivial writes, keep this contract in the canonical plan; show only useful fields.
89
+
90
+ ```text
91
+ Outcome:
92
+ Non-goals:
93
+ Expected files (PUBLIC_SURFACE):
94
+ Proof:
95
+ Untouched:
96
+ Minimum solution:
97
+ Test decision: EXISTING | NEW_REQUIRED | NOT_NEEDED — reason
98
+ Done clean:
99
+ ```
100
+
101
+ `Outcome` is the portable goal; `Proof` plus `Done clean` are the definition of done.
102
+ For substantial work, derive the next short-term goal from the supplied
103
+ long-term direction using [project start](references/project-start.md).
104
+ Update scope before expanding; require matching files, passing proof and no surprises.
105
+ `PUBLIC_SURFACE`: map affected README/docs/templates/assets/flow, or record `NOT_NEEDED`.
106
+ For public contract, routing or workflow changes, update existing affected diagrams;
107
+ fresh SVG + README Mermaid readback applies when the project maintains those formats.
108
+ Do not create diagrams merely to satisfy a workflow gate.
109
+ When the owner requests goal/DoD, show every field above and state the detailed-ledger decision.
110
+ For work that passes the detailed-ledger gate, persist the goal in an existing
111
+ Markdown tracker or task-local Markdown `GOAL_FILE`; it is canonical across clears,
112
+ compactions and sessions. A host-native goal is optional: use it only when available
113
+ and authorized under that tool's rules. Require goal readback only from stores actually
114
+ used; the file alone is sufficient and supersedes stale transcript text.
115
+ Default to at most 160 words: outcome, scope, Progress, proof and next action.
116
+ Do not add a repetitive skill/mode preamble or invent unseen schemas.
117
+ Mark uninspected paths/methods as pending.
118
+
119
+ New dependencies, abstractions, workers, skills and tests need an acceptance reason.
120
+ Shared abstractions require two callers or explicit contract.
121
+
122
+ Use a short plan ordered by outcomes. One canonical TODO owner may be the host
123
+ plan, repository tracker or current response.
124
+
125
+ ## Show human progress
126
+
127
+ For ordinary single-session work, show a compact update:
128
+
129
+ ```text
130
+ Progress
131
+ - [x] Scope and acceptance are clear
132
+ - [>] Inspecting the current caller and tests
133
+ - [ ] Implement and verify
134
+ Next: open the named caller and its existing test
135
+ ```
136
+
137
+ Update after scope is frozen, at transitions, blockers, new evidence and closeout.
138
+ Run tools without announcing the next command when
139
+ the host permits; otherwise emit its shortest useful scope or evidence sentence.
140
+ Never repeat the plan, unchanged state or already reported proof. Preserve exact
141
+ commands, errors, numbers and negations; expand when brevity risks ambiguity.
142
+ Persisted code, docs, commits and third-party messages use normal complete prose.
143
+ The checklist views the canonical TODO; accept evidence, not worker reports.
144
+ A stale summary never authorizes a successor.
145
+ Use a detailed ledger only when at least one condition is true:
146
+
147
+ - work crosses sessions or must resume safely after context loss;
148
+ - dependencies, multiple writers or a delegated queue control readiness;
149
+ - a consequential external effect requires auditable gates and recovery;
150
+ - the owner explicitly requests a durable execution record.
151
+
152
+ Otherwise the detailed ledger is unnecessary ceremony; a multi-component task
153
+ that still fits one coherent session does not pass this gate. When the gate passes,
154
+ use [references/long-run-state.md](references/long-run-state.md) and keep the
155
+ owner-facing Progress checklist concise.
156
+
157
+ ## Readiness and method routing
158
+
159
+ Respect the host instruction hierarchy; explicit user instructions override skill
160
+ guidelines. For a skill-caused pause, link its exact `SKILL.md`, quote the clause
161
+ and explain applicability; distinguish requirements from interpretation.
162
+
163
+ Proceed when required inputs, authority and proof are available; unknown write ownership,
164
+ stale input or ambiguous irreversible effects block the affected action. Missing optional
165
+ goals, telemetry or subagents does not block safe work; use ordinary files or MAIN.
166
+
167
+ Choose the least complex capable method; route non-trivial implementation through `nobrainer-build`.
168
+ When another skill owns a stage, load its canonical body and required references before
169
+ planning. Loading method context is not task execution; a routing-table line or remembered summary is insufficient. Load specialists only:
170
+
171
+ - `nobrainer-research` for decision-relevant external uncertainty;
172
+ - `nobrainer-writing` for material user-facing prose;
173
+ - `nobrainer-security` for trust boundaries;
174
+ - `nobrainer-browser` for rendered behavior or trace evidence;
175
+ - `nobrainer-rca` after repeated or causally unclear failure;
176
+ - `nobrainer-review` when independent closeout adds material confidence;
177
+ - `nobrainer-team` for capability gaps; native subagents for bounded independent work;
178
+ `nobrainer-dispatcher` for a real queue and `nobrainer-sessions` for durable visible sessions;
179
+ - `nobrainer-auto-fine-tune` at first setup for capability discovery and a
180
+ scoped personalization proposal.
181
+
182
+ ## `AUTOPILOT`: execute the bounded scope
183
+
184
+ Read [delivery](references/delivery.md) for non-trivial work and before BLOCKED: derive outcome/DoD, resolve authorized steps and continue independent work. `yolo` is a persistence alias only.
185
+
186
+ Approved plans and autopilot use the
187
+ [approved-plan loop](references/autopilot.md); completion requires whole-goal proof.
188
+
189
+ After readiness, continue without routine check-ins through approved edits,
190
+ commands, focused tests, broader verification and bounded corrective work. Stop
191
+ for a changed frozen input, scope-changing discovery, unrecoverable blocker or
192
+ real owner gate.
193
+
194
+ Autonomy does not expand authority. Merge, deploy, publish, spend, delete,
195
+ contact people, change credentials, migrate data, mutate production or weaken
196
+ safety controls remain explicit gates unless the owner already authorized that
197
+ exact action.
198
+
199
+ Corrective-attempt budget (also Build and RCA): two attempts per observed failure,
200
+ each with new evidence, or the owner's smaller budget; then diagnose or report the blocker.
201
+ Timeouts, partial results, dead sessions, failed checks and exhausted retries never prove completion.
202
+
203
+ ## `VERIFY` and `RECEIVE_AUDIT`
204
+
205
+ Prove every acceptance item at its actual layer. Static validation, local
206
+ runtime, deployed runtime, production behavior, external delivery and user
207
+ usefulness are different evidence levels.
208
+
209
+ Audit native-worker output against its exact returned ID, assigned scope, current
210
+ artifact and tests; verify it has stopped writing. Durable sessions use
211
+ `nobrainer-sessions` `RECEIVE_AUDIT`. If Dispatcher owns a queue, reconcile the
212
+ audited result before releasing dependencies. A finished report is not proof.
213
+
214
+ Invoke `nobrainer-review` for a justified adversarial or release closeout.
215
+ A verified finding returns to `nobrainer-build`; changed work invalidates old
216
+ proof and must be re-tested and re-reviewed.
217
+ `VERIFY` fails closeout when an affected public surface lacks its update or readback.
218
+ ## Correction hooks
219
+
220
+ Apply corrections immediately:
221
+
222
+ - `OWNER_DECISION_CHANGED`: supersede the old decision, move affected
223
+ not-started `READY` rows to `STOPPED`, block dependants and invalidate
224
+ only their evidence before re-planning.
225
+ - `AGENT_ERROR_CORRECTED`: fix the active result and classify one minimal
226
+ prevention candidate under the configured learning policy.
227
+ - `REVIEW_FAILED`: keep the item open, route the finding to Build, rerun
228
+ affected proof and repeat Review with fresh evidence.
229
+ - `CANDIDATE_REJECTED`: preserve the champion and close that experiment. Continue only
230
+ if owner acceptance is still unmet and a bounded next attempt is justified.
231
+ - `REPEATED_DEFECT`: stop blind retries and route the frozen failure to RCA.
232
+ Detailed canonical-store rules live in the correction-hooks reference.
233
+ ## `LEARN` and close
234
+
235
+ Persist only durable, sourced, authorized and non-secret knowledge.
236
+ Use `nobrainer-autoimprove` only with a frozen baseline, calibrated evaluator
237
+ outside candidate write scope and a fresh holdout; a null result is valid.
238
+ Final: delivered outcome, decisive proof, uncertainty and recovery if needed.
239
+ Do not dump internal forms or invent follow-up work after acceptance.
@@ -0,0 +1 @@
1
+ 2.4.1
@@ -0,0 +1,72 @@
1
+ # Autopilot: carry the approved plan to a checked result
2
+
3
+ Read when the owner asks for autopilot, execution of an approved plan, or work
4
+ through the whole outcome. This is the active agent's execution loop, not a
5
+ separate skill or a promise of an unattended process. Keep the host-selected
6
+ MAIN model, effort and existing authorization.
7
+
8
+ ## Bind the finish line
9
+
10
+ Use the existing plan and acceptance criteria as the single state owner. Bind
11
+ the actual inputs, dependencies, write scopes and required checks. Do not
12
+ replace a supplied plan with a new one or stop after planning when execution
13
+ is already authorized. Resolve only a missing decision that changes the work.
14
+ Persist state only under the [detailed-ledger gate](../SKILL.md#show-human-progress).
15
+
16
+ If the input is an idea, first use [idea to delivery](idea-to-delivery.md).
17
+ For an end-to-end request, carry the resulting SDD acceptance IDs into the
18
+ existing plan; do not require another execution prompt. Keep its reviewed
19
+ scope and approval binding intact. Record evidence against each ID and update
20
+ the spec lifecycle through implementation and verification. Set `ACCEPTED` only
21
+ when every required criterion passes. A blocked criterion stays open.
22
+
23
+ ## Run the next ready unit
24
+
25
+ 1. **Select.** Choose work with accepted dependencies, available inputs, a free
26
+ write scope and the necessary authorization. Use useful native workers for
27
+ independent ready work; if unavailable, MAIN continues. A blocked unit does
28
+ not stop another ready unit.
29
+ 2. **Execute.** Perform the bounded change through `nobrainer-build`. A worker
30
+ acknowledgement, generated plan or intended command is not execution.
31
+ 3. **Check.** Run the relevant proof and required project checks. Inspect the
32
+ changed artifact and the actual result at the promised delivery layer.
33
+ Neither a green unrelated test nor a completion message accepts the unit.
34
+ 4. **Review.** Use `nobrainer-review` where the risk, owner or project requires
35
+ it. Bind findings to the current diff. Inspect worker output before using
36
+ it; missing independent review stays explicit and never becomes a pass.
37
+ 5. **Correct.** Confirm a defect before changing code. Invalidate its affected
38
+ proof, make the smallest correction and rerun the relevant check and review.
39
+ Follow the [existing corrective budget](../SKILL.md#autopilot-execute-the-bounded-scope)
40
+ and [proportional review](delivery.md#keep-review-proportional-to-progress);
41
+ repeated no-progress attempts require diagnosis or a concrete incomplete state.
42
+ 6. **Advance.** Mark the unit accepted only from its inspected evidence, update
43
+ the existing TODO and immediately select the next ready unit. Carry valid
44
+ commit, PR or publication authority forward; a plan checkbox never grants it.
45
+ Do not end the task with a milestone report while authorized ready work remains.
46
+
47
+ Use the [goal-driven state transitions](delivery.md#gdd-goal-driven-delivery-through-milestones)
48
+ when a multi-unit tracker is justified. Keep one owner for status and proof;
49
+ do not introduce another scheduler or duplicate ledger for this loop.
50
+
51
+ ## Decide what happens next
52
+
53
+ - **Ready work exists:** continue the loop without asking for routine "continue"
54
+ permission. Batch independent units only while write ownership is clear.
55
+ - **A worker is running:** advance independent work or wait for its bounded
56
+ result. A timeout keeps the unit incomplete.
57
+ - **A result is reported:** audit its artifact, current checks and released
58
+ writer state before accepting it.
59
+ - **A unit is blocked:** keep its requirement open, name the evidence and exact
60
+ unblock action, and continue unrelated ready work. Ask only for the actual
61
+ missing choice or action-time gate.
62
+ - **No required unit remains:** perform the integrated whole-goal check. Re-read
63
+ the acceptance set and current artifacts; unresolved required checks or blocked
64
+ items prevent completion. Stop adding work once this finish line passes.
65
+
66
+ After interruption, read the canonical plan and current artifacts before
67
+ choosing the next unit. Recheck stale dependencies and proof; never trust a
68
+ remembered Done signal or repeat already accepted work without a reason.
69
+ Checkpoint and release follow [long-run state](long-run-state.md).
70
+ Host pauses, quotas, restart and scheduling capabilities determine whether
71
+ execution can continue outside the current turn. Checkpoints alone do not
72
+ start sessions or guarantee a later wakeup.
@@ -0,0 +1,21 @@
1
+ # Codex delegated execution adapter
2
+
3
+ Apply only when the actual client is Codex. Preserve MAIN's selected model and
4
+ effort. Inspect the host's available native subagent models, effort settings,
5
+ concurrency ceiling and per-spawn override rules. Prefer a capable smaller
6
+ worker such as Luna when actually available and useful; choose supported
7
+ effort for each task. No one model or effort is mandatory. The optional
8
+ [NoBrainer Codex](https://github.com/nobrainer-tech/nobrainer-codex) package
9
+ can extend Codex-specific setup; it is not required by nobrainer-tech-flow.
10
+
11
+ Bind the requested exact model/effort and, when exposed, the host's actual
12
+ readback to each assignment. Use a context-independent spawn with complete task
13
+ inputs when the host disallows model overrides on full-history forks. Preserve
14
+ authority and source references. A requested model name does not prove a
15
+ successful runtime route or lower cost; verify output against acceptance.
16
+
17
+ When a requested worker route is unavailable or rejected, reconcile any
18
+ uncertain spawn before retrying. Use another already inspected route when the
19
+ task permits it, or continue in MAIN and report the limitation. Never create
20
+ a visible task as a worker substitute. Respect actual host capacity and
21
+ the number of useful ready units; do not spawn filler to fill slots.
@@ -0,0 +1,108 @@
1
+ # Default communication
2
+
3
+ State the task or result, decisive evidence and conditions that change the next
4
+ action. Small messages need no extra skill call, report form or stage announcement.
5
+ Use Writing for material prose, not every short reply.
6
+
7
+ ## Language and meaning
8
+
9
+ - **Between agents:** plain technical English by default; specify the artifact's
10
+ language separately. Explicit owner, recipient or task requirements override it.
11
+ - **To the user:** write directly in the requested or conversation language.
12
+ An English artifact does not change a Polish surrounding reply.
13
+ - **Existing formats:** preserve schemas, fields, enums and artifact-only requests.
14
+ Machine-only output has no Markdown fences unless requested. Keep literal
15
+ source text separate from metadata such as a process exit status.
16
+
17
+ Adapt warmth and detail to the audience. Marketing, fiction, dialogue and author
18
+ voice retain their purpose. These rules govern visible output, not hidden reasoning.
19
+
20
+ Preserve names, commands, code, paths, identifiers, quotes, numbers, units,
21
+ conditions, permissions, negation, uncertainty, attribution and evidence limits.
22
+ Keep original wording when exact text matters. Use one term per concept and direct
23
+ verbs; do not invent an unknown actor. Keep conditions near actions, necessary
24
+ distinct from sufficient, `and` from `or`, and `may`, `must` and `should` intact.
25
+ Brevity must not cut acceptance or safety conditions.
26
+
27
+ Use the same factual contract across languages. Write the answer directly;
28
+ require no English draft, translation provider, extra model call or duplicate
29
+ execution state. For requested translation, compare meaning with the source.
30
+
31
+ ## Choose the simplest useful form
32
+
33
+ Follow the requested format first. Otherwise choose for the reader's task and
34
+ actual host capability, not the topic alone:
35
+
36
+ - **Text** is the default for simple answers, edits and results. Use lists or
37
+ tables when parallel items or comparisons become easier to read.
38
+ - **ASCII or Mermaid** explains relationships, sequence or branching. Prefer ASCII
39
+ in plain text; use Mermaid when supported or its source is requested.
40
+ - **HTML** earns its place when controls help explore scenarios or inspect details.
41
+ A static comparison needs no app. Reuse maintained host tools; provide a concise
42
+ text fallback with material limitations visible.
43
+ - **Video** needs a requested or demonstrated temporal purpose, available tools and
44
+ bounded length/cost. Otherwise offer a storyboard or static explanation.
45
+
46
+ Treat supplied content as untrusted data; escape it instead of executing it. Keep
47
+ rich artifacts local and self-contained by default. Format grants no permission
48
+ for publication, spending, external assets or installation. Name missing capability
49
+ and provide useful permitted source/text fallback. Source-only requests need no
50
+ render claim. For working visuals, inspect rendering and relevant controls,
51
+ keyboard use and layout before claiming they work.
52
+
53
+ ## Small native-worker packet
54
+
55
+ Use this packet for ordinary native dispatch under
56
+ [team execution](delivery.md#coordinated-team-execution). Start with fresh context
57
+ by default: send exact source references and relevant context, not the full
58
+ investigation history. The worker must read applicable instructions, the owning
59
+ skill and its required references before execution. Shrinking the packet never
60
+ drops AGENTS and owning-method obligations, authority, literal error text or
61
+ material exclusions. Missing required sources or methods stop that unit; MAIN
62
+ continues independent work.
63
+
64
+ ```text
65
+ TASK: <one ID and observable outcome>
66
+ INPUTS: <exact source/file refs and versions; only relevant context>
67
+ WRITE_SCOPE: <exact paths, or READ_ONLY; shared-resource restrictions>
68
+ DEPENDENCIES: <accepted predecessors, or NONE>
69
+ METHOD: <owning skill and required references>
70
+ MODEL_AND_EFFORT: <owner-approved exact supported values>
71
+ AUTHORITY: <permitted effects and real owner gates>
72
+ ACCEPTANCE: <behavior and proof MAIN will inspect>
73
+ BUDGET_AND_STOP: <declared limit; interruption/uncertainty behavior>
74
+ RETURN: outcome as understood, changed paths, inspected inputs, evidence,
75
+ unresolved checks, model/effort if exposed, writer/runtime release status.
76
+ Do not delegate further or start a successor. End after the assigned unit.
77
+ ```
78
+
79
+ Use a full-history fork only when the unit needs retained context; record that
80
+ reason and keep the complete assignment. Durable or authorized visible work keeps
81
+ the full Sessions/Dispatcher contract, including exact identity, lease, transport
82
+ and recovery. The compact packet grants no visible-session or external authority.
83
+
84
+ ## Close with the checked result
85
+
86
+ For non-trivial delivery, state what was delivered, specific proof MAIN inspected
87
+ and its layer, material failed/unverified requirements, and an owner action only
88
+ when required. Add `current for <input snapshot/time or UNKNOWN>`. This is content guidance, not mandatory headings or a new schema.
89
+ Reuse acceptance IDs and evidence links; omit empty sections, repeated logs and
90
+ invented follow-up work. Expand when compression would hide a condition.
91
+
92
+ Distinguish observed results, inference, proposals and checks that did not run.
93
+ Command success, source, rendering, interaction and public delivery prove different
94
+ things. A worker report or linked but unread log cannot accept work. Keep open
95
+ requirements beside the result, not only in collapsed details; do not announce
96
+ whole-goal completion for a successful slice.
97
+
98
+ Preserve artifact-only output. Put necessary status in existing permitted fields
99
+ or the established tracker, without invalid surrounding prose. Missing required
100
+ input/proof follows the owning skill's `INPUT_REQUIRED` rule.
101
+
102
+ ## Relationship to ASD-STE100
103
+
104
+ This independent guidance draws on selected clarity principles of
105
+ [ASD-STE100](https://www.asd-ste100.org/about_STE.html). Writing's `TECHNICAL` mode
106
+ adds profiles for English artifacts. Neither certifies conformance, ships the
107
+ dictionary or proves token savings, safety or better model results. A Polish
108
+ answer is not an ASD-STE100 conformance result.
@@ -0,0 +1,110 @@
1
+ # Correction and learning hooks
2
+
3
+ These are semantic lifecycle hooks. They work in any agent runtime because the
4
+ active agent evaluates the event and performs a scoped update; do not claim that
5
+ a client executed a native hook unless its runtime actually reported one.
6
+
7
+ Project setup records one `LEARNING_WRITE_POLICY`:
8
+
9
+ - `AUTO_SCOPED`: durable, sourced corrections may update the project-local wiki,
10
+ `tasks/lessons.md` and nearest project instructions within their existing
11
+ classification/write rules;
12
+ - `ASK`: prepare the exact learning diff and request one persistence decision;
13
+ - `OFF`: correct active state but do not persist learning.
14
+
15
+ This standing policy never authorizes global instructions, public disclosure,
16
+ secrets, commits, pushes or unrelated semantic rewrites.
17
+
18
+ ## Events
19
+
20
+ ### `OWNER_DECISION_CHANGED`
21
+
22
+ Trigger only when the owner explicitly replaces a requirement, preference,
23
+ constraint or decision.
24
+
25
+ 1. Quote or point to the new decision and identify the superseded statement.
26
+ 2. Update the one canonical owner: spec, decision record, plan or project
27
+ instruction. Mark the old value `SUPERSEDED`; do not preserve two active
28
+ truths.
29
+ 3. Remove every affected not-started row from the ready set, mark it `STOPPED`,
30
+ and keep its dependants `PENDING` or `BLOCKED`. Invalidate all evidence made
31
+ under the old assumption. Set `REPLAN_REQUIRED` when the critical path,
32
+ acceptance, permissions or architecture changes.
33
+ 4. If affected work is already `SENT`, `CLAIMED` or `RUNNING`, stop further
34
+ routing and use `nobrainer-sessions` to request and read back a controlled
35
+ stop; never infer that cancellation succeeded.
36
+ 5. Under `AUTO_SCOPED`, update the relevant project wiki page through
37
+ `nobrainer-wiki` mode `ADD` when the decision is durable, sourced and
38
+ correctly classified. Under `ASK`, prepare the exact diff; under `OFF`, keep
39
+ it task-local. Replace or annotate stale knowledge instead of appending a
40
+ contradiction.
41
+ 6. Rebuild the affected path under a new plan fingerprint. Only then recompute
42
+ readiness from all gates and resume AUTOPILOT. Ask again only if the new
43
+ decision creates a real owner gate.
44
+
45
+ ### `AGENT_ERROR_CORRECTED`
46
+
47
+ Trigger when the owner provides a correction or evidence shows that the agent's
48
+ previous action, claim, assumption or process was wrong.
49
+
50
+ 1. Correct the current output or state first; an apology is not remediation.
51
+ 2. Classify the failing scenario, error fingerprint, cause and smallest
52
+ prevention rule as task-local state, a project-specific lesson, a repository
53
+ instruction, durable wiki knowledge or behavior-improvement evidence.
54
+ 3. Apply the configured policy before any persistent write:
55
+ - under `AUTO_SCOPED`, persist at most one minimal, sourced rule to its one
56
+ canonical project-local governed store; use `tasks/lessons.md` for a
57
+ project-specific failure pattern, the nearest scoped `AGENTS.md` only when
58
+ a reusable instruction was missing or misleading, or the wiki only for
59
+ reusable durable knowledge;
60
+ - under `ASK`, prepare the exact single-store diff and request one decision;
61
+ - under `OFF`, keep the prevention candidate in active task state and do not
62
+ create or modify `tasks/lessons.md`, `AGENTS.md` or a wiki.
63
+ Preserve managed blocks and avoid a biography of past mistakes.
64
+ 4. Route repeatable skill or prompt behavior to `nobrainer-autoimprove` with the
65
+ failing scenario as development evidence and a separate holdout. A
66
+ deterministic code defect instead receives a regression test through
67
+ `nobrainer-build`. If the failure is deterministic and a native check (test,
68
+ lint, hook, CI) can catch it, propose that check as the prevention. Write a
69
+ prose rule only when no mechanism fits.
70
+ 5. When persistence is allowed by step 3, capture a durable fact or explicit
71
+ reusable preference in the wiki only when its destination and confidentiality
72
+ permit it. Never write a secret, raw sensitive transcript or an inferred
73
+ permanent personality trait.
74
+
75
+ ### `REVIEW_FAILED`
76
+
77
+ Trigger when `nobrainer-review` returns a verified finding or required evidence
78
+ fails.
79
+
80
+ 1. Keep the affected stage incomplete and attach the finding/evidence.
81
+ 2. Add one bounded correction stage owned by `nobrainer-build`.
82
+ 3. Run the regression and affected baseline checks, then return to
83
+ `nobrainer-review` with fresh evidence.
84
+ 4. After the repeated review, run a fresh `RECEIVE_AUDIT` that binds the repaired
85
+ diff, current tests and review result before acceptance.
86
+ 5. Do not reuse the invalidated review, test or release result.
87
+
88
+ ### `REPEATED_DEFECT`
89
+
90
+ Trigger when the same normalized failure reappears after a claimed fix.
91
+
92
+ Stop blind retry. Compare fingerprints and prior prevention evidence, invoke
93
+ `nobrainer-rca`, and require new evidence before another implementation attempt.
94
+ Use `nobrainer-autoimprove` only when the defect belongs to a skill, prompt or
95
+ workflow control rather than product code.
96
+
97
+ ## Persistence gate
98
+
99
+ Every write must have one canonical owner, a source, scope, confidentiality,
100
+ verification and rollback. Keep these concerns separate:
101
+
102
+ - active requirement or decision -> spec/decision record;
103
+ - live work and invalidation -> canonical plan/state;
104
+ - repository behavior rule -> nearest `AGENTS.md`;
105
+ - project-specific failure pattern -> `tasks/lessons.md`;
106
+ - reusable sourced knowledge -> `nobrainer-wiki`;
107
+ - measurable agent-behavior gap -> `nobrainer-autoimprove`.
108
+
109
+ Do not write the same mutable statement into all stores. Link to its canonical
110
+ owner and store only the local consequence needed by each consumer.
@@ -0,0 +1,28 @@
1
+ # Daily release check and safe upgrade
2
+
3
+ Use `<flow-skill-dir>/scripts/check_flow_update.py --client CLIENT` (replace
4
+ `<flow-skill-dir>` with this skill's directory) on the first active Flow use of
5
+ each local calendar day. The script caches the result per client,
6
+ day and installed version. Read the actual installed manifest or native
7
+ plugin identity first; a source checkout is not proof of the loaded version.
8
+ If the identity is unavailable, report `UNVERIFIED` and do not infer that
9
+ the client is current. A failed network check is `CHECK_FAILED`, not
10
+ `CURRENT`.
11
+
12
+ When `UPDATE_AVAILABLE`, tell the user the installed and latest version
13
+ and the verified release link. Upgrade only within the owner's recorded
14
+ standing authorization or after approval of the exact reviewed change.
15
+ Before applying, obtain the new release source at a verified immutable ref,
16
+ compare installation targets, run `validate_skills.py --suite`, then dry-run
17
+ `install_skills.py` and `install_personalization.py`. Preserve foreign
18
+ targets and dirty instructions. Apply the scoped update and read back
19
+ the installed source, selected MAIN model/effort, personal rules and a
20
+ clean-session Flow invocation. Source install, client loading and runtime
21
+ behavior are separate proof levels. If a migration needs a target overwrite,
22
+ credential or restart that is not authorized, stop at that exact gate.
23
+
24
+ For an inactive client, a scheduler may run the checker with `--unattended`
25
+ only when the client supports scheduling and its owner configures it.
26
+ The checker sends no notification by itself. Without a scheduler, the
27
+ contract is a check on the first use of that day, not an unattended
28
+ guarantee. Do not build a polling loop or duplicate automations.