nobrainer-tech-flow 2.5.0 → 2.7.0
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/AGENTS.md +8 -8
- package/CLAUDE.md +8 -8
- package/README.md +78 -36
- package/adapters/bootstrap.md +2 -2
- package/assets/nobrainer-workflow.svg +2 -2
- package/docs/CHAT_PLUGINS.md +4 -2
- package/docs/INSTALL.md +51 -30
- package/docs/SKILL_CURATION.md +6 -6
- package/docs/releases/v2.6.0.md +73 -0
- package/docs/releases/v2.7.0.md +145 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/scripts/install.py +3 -1
- package/scripts/install.sh +25 -6
- package/scripts/install_guards.py +29 -13
- package/scripts/install_personalization.py +52 -17
- package/skills/nobrainer-auto-fine-tune/SKILL.md +1 -1
- package/skills/nobrainer-build/SKILL.md +17 -2
- package/skills/nobrainer-security/SKILL.md +10 -0
- package/skills/nobrainer-team/SKILL.md +43 -64
- package/skills/nobrainer-team/references/team-plan.md +7 -6
- package/skills/nobrainer-tech-flow/SKILL.md +13 -13
- package/skills/nobrainer-tech-flow/VERSION +1 -1
- package/skills/nobrainer-tech-flow/references/correction-hooks.md +11 -5
- package/skills/nobrainer-tech-flow/references/daily-update.md +5 -2
- package/skills/nobrainer-tech-flow/references/delivery.md +50 -20
- package/skills/nobrainer-tech-flow/references/long-run-state.md +31 -5
- package/skills/nobrainer-tech-flow/references/model-routing.md +13 -11
- package/skills/nobrainer-tech-flow/references/project-start.md +2 -2
- package/skills/nobrainer-tech-flow/references/routing.md +6 -8
- package/skills/nobrainer-tech-flow/references/setup.md +6 -7
- package/skills/nobrainer-tech-flow/scripts/flow_guard.py +179 -2
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
{
|
|
9
9
|
"name": "nobrainer-tech-flow",
|
|
10
10
|
"description": "From task to done. nobrainer-tech-flow is one workflow of 18 modules for AI coding agents: it scopes the task, delegates ready work, checks the result and hands over the evidence, including what was not checked.",
|
|
11
|
-
"version": "2.
|
|
11
|
+
"version": "2.7.0",
|
|
12
12
|
"source": "./",
|
|
13
13
|
"author": {
|
|
14
14
|
"name": "NoBrainer Tech"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nobrainer-tech-flow",
|
|
3
3
|
"description": "From task to done. nobrainer-tech-flow is one workflow of 18 modules for AI coding agents: it scopes the task, delegates ready work, checks the result and hands over the evidence, including what was not checked.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.7.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "NoBrainer Tech"
|
|
7
7
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nobrainer-tech-flow",
|
|
3
3
|
"description": "From task to done. nobrainer-tech-flow is one workflow of 18 modules for AI coding agents: it scopes the task, delegates ready work, checks the result and hands over the evidence, including what was not checked.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.7.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "NoBrainer Tech",
|
|
7
7
|
"url": "https://nobrainer.tech"
|
package/AGENTS.md
CHANGED
|
@@ -7,7 +7,7 @@ Respect host hierarchy; user instructions override skill guidelines. Apply [deli
|
|
|
7
7
|
<!-- NOBRAINER-WORKFLOW:START -->
|
|
8
8
|
## nobrainer-tech-flow
|
|
9
9
|
|
|
10
|
-
- Use [nobrainer-tech-flow](https://github.com/nobrainer-tech/nobrainer-tech-flow) through the `nobrainer-tech-flow` module, by the exact name the client lists (in Codex `$nobrainer-tech-flow:nobrainer-tech-flow` when it lists modules under the plugin name). Preserve the selected MAIN model and effort.
|
|
10
|
+
- Use [nobrainer-tech-flow](https://github.com/nobrainer-tech/nobrainer-tech-flow) through the `nobrainer-tech-flow` module, by the exact name the client lists (in Codex `$nobrainer-tech-flow:nobrainer-tech-flow` when it lists modules under the plugin name). Preserve the selected MAIN model and effort. Work in one MAIN loop; delegate only qualifying units with exact scope and proof; MAIN integrates. Use `nobrainer-auto-fine-tune` when measured route calibration would help.
|
|
11
11
|
- Start substantial work from an observable short-term goal grounded in the owner's direction; inspect project layers and the relevant wiki. Check once per active day for a newer stable release. Keep session checkpoints and verify takeover before authorized archival. Load only relevant specialist skills and verify the delivery layer.
|
|
12
12
|
- Product name: nobrainer-tech-flow; repository and skill ID: `nobrainer-tech-flow`. No ritual preamble. X: `#NoBrainerTechFlow`.
|
|
13
13
|
<!-- NOBRAINER-WORKFLOW:END -->
|
|
@@ -59,8 +59,8 @@ For non-trivial work:
|
|
|
59
59
|
`DRIFT_CHECK -> BUDDY -> SCOPE -> AUTOPILOT -> VERIFY -> RECEIVE_AUDIT -> LEARN`
|
|
60
60
|
|
|
61
61
|
Before planning, inspect checkout, nearest instructions, dirty state, callers, tests, runtime
|
|
62
|
-
and durable decisions. Delegate
|
|
63
|
-
|
|
62
|
+
and durable decisions. Delegate only units that gain from parallel work, isolated
|
|
63
|
+
context, independent review or specialization; MAIN coordinates, integrates and verifies.
|
|
64
64
|
|
|
65
65
|
### Minimum sufficient change
|
|
66
66
|
|
|
@@ -103,9 +103,9 @@ Update at meaningful transitions, blockers and closeout, not before and
|
|
|
103
103
|
after every command. The canonical plan or tracker owns TODO state; summaries,
|
|
104
104
|
exit codes and worker reports cannot advance it.
|
|
105
105
|
|
|
106
|
-
Use a detailed execution ledger only
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
Use a detailed execution ledger only for multi-session, dependency-rich, consequential
|
|
107
|
+
or resumable work, on owner request, or while owner requests keep arriving
|
|
108
|
+
mid-run. It records identity, dependencies, write ownership, evidence, checkpoint,
|
|
109
109
|
retry/stop conditions and rollback; ordinary single-session work uses a short checklist.
|
|
110
110
|
|
|
111
111
|
## Routing without ceremony
|
|
@@ -128,7 +128,7 @@ Load a specialist only when its boundary is active:
|
|
|
128
128
|
- Autoimprove owns frozen baseline/candidate/holdout experiments.
|
|
129
129
|
- Writing owns material user-facing prose; tiny clear answers stay direct.
|
|
130
130
|
|
|
131
|
-
MAIN coordinates, integrates and verifies scoped worker edits.
|
|
131
|
+
MAIN coordinates, integrates and verifies scoped worker edits. Visible conversations require explicit request or authorized MAIN restart; workers cannot spawn successors.
|
|
132
132
|
On Flow entry, date the title from verified creation time, preserve it on resume and assess context. Health benefit can qualify restart without economic payback; verify takeover by ID and never resume a retired writer. See Sessions for ` | started DD-MM` formatting and timezone.
|
|
133
133
|
|
|
134
134
|
## Problems and research
|
|
@@ -149,7 +149,7 @@ runtime, deployed runtime, production behavior, external delivery and user
|
|
|
149
149
|
usefulness distinct. Partial output, timeout, stale state, dead session, failed
|
|
150
150
|
test or missing required access is not success.
|
|
151
151
|
|
|
152
|
-
When the owner changes a decision, supersede the old requirement and invalidate
|
|
152
|
+
When the owner changes a decision, supersede the old requirement at once and invalidate
|
|
153
153
|
only dependent work and evidence. A verified review failure returns to Build;
|
|
154
154
|
rerun affected proof and review. Stop blind retries after the same failure and
|
|
155
155
|
route causal uncertainty to RCA.
|
package/CLAUDE.md
CHANGED
|
@@ -7,7 +7,7 @@ Respect host hierarchy; user instructions override skill guidelines. Apply [deli
|
|
|
7
7
|
<!-- NOBRAINER-WORKFLOW:START -->
|
|
8
8
|
## nobrainer-tech-flow
|
|
9
9
|
|
|
10
|
-
- Use [nobrainer-tech-flow](https://github.com/nobrainer-tech/nobrainer-tech-flow) through the `nobrainer-tech-flow` module, by the exact name the client lists (in Codex `$nobrainer-tech-flow:nobrainer-tech-flow` when it lists modules under the plugin name). Preserve the selected MAIN model and effort.
|
|
10
|
+
- Use [nobrainer-tech-flow](https://github.com/nobrainer-tech/nobrainer-tech-flow) through the `nobrainer-tech-flow` module, by the exact name the client lists (in Codex `$nobrainer-tech-flow:nobrainer-tech-flow` when it lists modules under the plugin name). Preserve the selected MAIN model and effort. Work in one MAIN loop; delegate only qualifying units with exact scope and proof; MAIN integrates. Use `nobrainer-auto-fine-tune` when measured route calibration would help.
|
|
11
11
|
- Start substantial work from an observable short-term goal grounded in the owner's direction; inspect project layers and the relevant wiki. Check once per active day for a newer stable release. Keep session checkpoints and verify takeover before authorized archival. Load only relevant specialist skills and verify the delivery layer.
|
|
12
12
|
- Product name: nobrainer-tech-flow; repository and skill ID: `nobrainer-tech-flow`. No ritual preamble. X: `#NoBrainerTechFlow`.
|
|
13
13
|
<!-- NOBRAINER-WORKFLOW:END -->
|
|
@@ -59,8 +59,8 @@ For non-trivial work:
|
|
|
59
59
|
`DRIFT_CHECK -> BUDDY -> SCOPE -> AUTOPILOT -> VERIFY -> RECEIVE_AUDIT -> LEARN`
|
|
60
60
|
|
|
61
61
|
Before planning, inspect checkout, nearest instructions, dirty state, callers, tests, runtime
|
|
62
|
-
and durable decisions. Delegate
|
|
63
|
-
|
|
62
|
+
and durable decisions. Delegate only units that gain from parallel work, isolated
|
|
63
|
+
context, independent review or specialization; MAIN coordinates, integrates and verifies.
|
|
64
64
|
|
|
65
65
|
### Minimum sufficient change
|
|
66
66
|
|
|
@@ -103,9 +103,9 @@ Update at meaningful transitions, blockers and closeout, not before and
|
|
|
103
103
|
after every command. The canonical plan or tracker owns TODO state; summaries,
|
|
104
104
|
exit codes and worker reports cannot advance it.
|
|
105
105
|
|
|
106
|
-
Use a detailed execution ledger only
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
Use a detailed execution ledger only for multi-session, dependency-rich, consequential
|
|
107
|
+
or resumable work, on owner request, or while owner requests keep arriving
|
|
108
|
+
mid-run. It records identity, dependencies, write ownership, evidence, checkpoint,
|
|
109
109
|
retry/stop conditions and rollback; ordinary single-session work uses a short checklist.
|
|
110
110
|
|
|
111
111
|
## Routing without ceremony
|
|
@@ -128,7 +128,7 @@ Load a specialist only when its boundary is active:
|
|
|
128
128
|
- Autoimprove owns frozen baseline/candidate/holdout experiments.
|
|
129
129
|
- Writing owns material user-facing prose; tiny clear answers stay direct.
|
|
130
130
|
|
|
131
|
-
MAIN coordinates, integrates and verifies scoped worker edits.
|
|
131
|
+
MAIN coordinates, integrates and verifies scoped worker edits. Visible conversations require explicit request or authorized MAIN restart; workers cannot spawn successors.
|
|
132
132
|
On Flow entry, date the title from verified creation time, preserve it on resume and assess context. Health benefit can qualify restart without economic payback; verify takeover by ID and never resume a retired writer. See Sessions for ` | started DD-MM` formatting and timezone.
|
|
133
133
|
|
|
134
134
|
## Problems and research
|
|
@@ -149,7 +149,7 @@ runtime, deployed runtime, production behavior, external delivery and user
|
|
|
149
149
|
usefulness distinct. Partial output, timeout, stale state, dead session, failed
|
|
150
150
|
test or missing required access is not success.
|
|
151
151
|
|
|
152
|
-
When the owner changes a decision, supersede the old requirement and invalidate
|
|
152
|
+
When the owner changes a decision, supersede the old requirement at once and invalidate
|
|
153
153
|
only dependent work and evidence. A verified review failure returns to Build;
|
|
154
154
|
rerun affected proof and review. Stop blind retries after the same failure and
|
|
155
155
|
route causal uncertainty to RCA.
|
package/README.md
CHANGED
|
@@ -59,9 +59,11 @@
|
|
|
59
59
|
guards ask before `git push --force`, `git reset --hard`, a recursive delete
|
|
60
60
|
outside temporary folders, a production deploy or a publish. A turn that
|
|
61
61
|
changed files and ends without a proof line or an explicit `UNVERIFIED` is
|
|
62
|
-
sent back once.
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
sent back once. After compaction, resume or clear, the agent is pointed back
|
|
63
|
+
to the active goal file. Opt-in, with preview and undo.
|
|
64
|
+
- **One main loop, workers only where they pay.** The main session does the work
|
|
65
|
+
with skills and hands a part to a native worker only for parallel work, context
|
|
66
|
+
isolation, independent review or specialization, then checks each result.
|
|
65
67
|
|
|
66
68
|
Free, MIT. The Git install previews every change and has undo. Your coding client's usage costs still apply.
|
|
67
69
|
|
|
@@ -103,13 +105,28 @@ The mode is informed by ASD-STE100; it does not claim full standard compliance.
|
|
|
103
105
|
|
|
104
106
|
## Install and use the plugin
|
|
105
107
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
Pick the channel that fits your client. The first five install the same 18 modules;
|
|
109
|
+
the MCP server needs no install:
|
|
110
|
+
|
|
111
|
+
- **Claude Code plugin:** `claude plugin marketplace add nobrainer-tech/nobrainer-tech-flow`,
|
|
112
|
+
then `claude plugin install nobrainer-tech-flow@nobrainer-tech`.
|
|
113
|
+
- **Codex plugin:** `codex plugin marketplace add nobrainer-tech/nobrainer-tech-flow`,
|
|
114
|
+
then `codex plugin add nobrainer-tech-flow@nobrainer-tech`.
|
|
115
|
+
- **npm:** [`npx nobrainer-tech-flow --client codex`](https://www.npmjs.com/package/nobrainer-tech-flow)
|
|
116
|
+
previews the setup for Codex, Claude Code (`claude`), OpenCode or GitHub Copilot;
|
|
117
|
+
add `--apply` to install.
|
|
118
|
+
- **Git, for any coding agent:** a setup prompt or `scripts/install.sh`, with a
|
|
119
|
+
preview of every change and undo.
|
|
120
|
+
- **Chat apps:** the [portable plugin ZIP](docs/CHAT_PLUGINS.md) for supported
|
|
121
|
+
ChatGPT/Codex and Claude surfaces.
|
|
122
|
+
- **MCP server, no install:** add the free remote server `https://mcp.nobrainer.tech/mcp`
|
|
123
|
+
(no sign-in, stateless) in claude.ai, ChatGPT or any MCP client. Its six read-only
|
|
124
|
+
tools give the agent a task contract, an evidence check, a done gate and a model
|
|
125
|
+
advisor; it does not install the 18 modules. Per-client steps and what is verified:
|
|
126
|
+
[MCP server README](mcp/README.md#install).
|
|
127
|
+
|
|
128
|
+
Details for each are under [Install safely](#install-safely). Listing in the
|
|
129
|
+
public Claude and OpenAI plugin directories is a separate review step.
|
|
113
130
|
|
|
114
131
|
## How it works
|
|
115
132
|
|
|
@@ -143,7 +160,7 @@ next unblock action.
|
|
|
143
160
|
A quick answer stays a quick answer. The model-neutral workflow uses one plan,
|
|
144
161
|
bounded corrective attempts and a Markdown checkpoint for longer work. Native
|
|
145
162
|
goals, telemetry and client-specific tools are optional. Available native workers
|
|
146
|
-
|
|
163
|
+
take a unit only when it pays; unavailable workers leave the work in MAIN.
|
|
147
164
|
|
|
148
165
|
**One model is enough.** Optional Jev (remote) and Laya (local) profiles add
|
|
149
166
|
typed suggestions for bounded classification, ranking and evaluation. Setup
|
|
@@ -187,11 +204,11 @@ flowchart TD
|
|
|
187
204
|
P --> G
|
|
188
205
|
J -. independent authorized work remains .-> P
|
|
189
206
|
F -. optional .-> L[Markdown goal for resume]
|
|
190
|
-
G -.
|
|
207
|
+
G -. only units that gain from parallel work, isolated context, review or specialization .-> M[Bounded native subagents; owner-approved model and effort]
|
|
191
208
|
G -. configured shadow only .-> Q[Jev remote or Laya local: advisory typed decisions]
|
|
192
209
|
Q -. unavailable or invalid: core fallback .-> G
|
|
193
210
|
M -->|Plain technical English reports| H
|
|
194
|
-
H -. audited unit;
|
|
211
|
+
H -. audited unit; dispatch the next qualifying unit .-> M
|
|
195
212
|
F -. first project use .-> R[Inspect layers and relevant wiki]
|
|
196
213
|
R --> G
|
|
197
214
|
M -. recurring workload .-> T[Auto Fine Tune: measured worker route]
|
|
@@ -260,12 +277,24 @@ sh ~/.nobrainer-tech-flow/scripts/install.sh --client claude --apply # link th
|
|
|
260
277
|
`--client` is `claude`, `codex`, `opencode` or `copilot`. Cursor, Gemini CLI, Pi and Kimi Code
|
|
261
278
|
use a plugin or extension instead: see their sections in
|
|
262
279
|
[docs/INSTALL.md](docs/INSTALL.md#client-channels). The script links all eighteen skills and adds
|
|
263
|
-
one instruction block, shows the exact text first, refuses anything that is not its own
|
|
264
|
-
|
|
280
|
+
one instruction block, shows the exact text first, refuses anything that is not its own and
|
|
281
|
+
undoes itself with `--undo --apply`. The block lets Flow update itself to verified stable
|
|
282
|
+
releases once a day; `install_personalization.py --no-auto-update` turns that into a
|
|
283
|
+
notification only. No other authorization is granted. To update, run `git pull` in
|
|
265
284
|
`~/.nobrainer-tech-flow` and the same two commands again, or paste the prompt again. With Python,
|
|
266
285
|
`python3 scripts/install.py` takes the same flags.
|
|
267
286
|
|
|
268
|
-
**npm
|
|
287
|
+
**npm** (Node 18+ and Python 3.11+; [package page](https://www.npmjs.com/package/nobrainer-tech-flow)):
|
|
288
|
+
|
|
289
|
+
```sh
|
|
290
|
+
npx nobrainer-tech-flow@2.7.0 --client codex # preview: changes nothing
|
|
291
|
+
npx nobrainer-tech-flow@2.7.0 --client codex --apply # install
|
|
292
|
+
npx nobrainer-tech-flow@2.7.0 --client codex --undo --apply
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
`--client` is `codex`, `claude`, `opencode` or `copilot`. The files are copied to a
|
|
296
|
+
stable folder in your home directory, so nothing points into npx's cache; see the
|
|
297
|
+
[npm command](docs/INSTALL.md#npm-command).
|
|
269
298
|
|
|
270
299
|
**Next step:** in a fresh session, give it one small task with a checkable result:
|
|
271
300
|
|
|
@@ -303,7 +332,8 @@ next command.
|
|
|
303
332
|
`install.py`, like `scripts/install.sh` without Python, links all eighteen skills
|
|
304
333
|
and adds one managed instruction block for `claude`, `codex`, `opencode` or
|
|
305
334
|
`copilot`. The preview shows the exact text it would write, a target that is not
|
|
306
|
-
its own link is refused,
|
|
335
|
+
its own link is refused, the only standing authorization is the default daily Flow
|
|
336
|
+
update (opt out with `install_personalization.py --no-auto-update`), and
|
|
307
337
|
`python3 scripts/install.py --client codex --undo --apply` reverses it. It needs
|
|
308
338
|
symbolic links (Windows: Developer Mode). For a subset, a copy install, the shared
|
|
309
339
|
`agents` folder or another client, use the individual scripts in
|
|
@@ -363,7 +393,7 @@ Use nobrainer-tech-flow through the canonical skill
|
|
|
363
393
|
outcome. A small reversible edit without a public contract, routing, workflow or
|
|
364
394
|
portfolio change can use its quick path; other changes use the full path and its
|
|
365
395
|
coherence gate.
|
|
366
|
-
In Codex, type the exact name it lists for the module: `$nobrainer-tech-flow:nobrainer-tech-flow` after the installer
|
|
396
|
+
In Codex, type the exact name it lists for the module: `$nobrainer-tech-flow:nobrainer-tech-flow` after the installer, a plugin install or the npm package, and `$nobrainer-tech-flow` for a copy made with `install_skills.py --mode copy`. Say
|
|
367
397
|
`Use NBFlow`, `Use NBF` or `Use nobrainer-tech-flow` in natural language;
|
|
368
398
|
older trigger phrases are migration context only and
|
|
369
399
|
depend on a client's implicit description matching.
|
|
@@ -378,11 +408,13 @@ DRIFT_CHECK -> BUDDY -> SCOPE -> AUTOPILOT -> VERIFY -> RECEIVE_AUDIT -> LEARN
|
|
|
378
408
|
- One canonical plan owns TODO state; the owner sees only a compact Progress
|
|
379
409
|
checklist and one next action.
|
|
380
410
|
- A durable ledger adds exact identity, dependencies, checkpoints, retries and
|
|
381
|
-
rollback only for cross-session, dependency-rich or consequential work
|
|
411
|
+
rollback only for cross-session, dependency-rich or consequential work, or
|
|
412
|
+
when the owner keeps adding requests in one long conversation.
|
|
382
413
|
- `AUTOPILOT` continues through routine approved work without repeated check-ins.
|
|
383
|
-
-
|
|
384
|
-
|
|
385
|
-
|
|
414
|
+
- Work in one MAIN loop with skills. Delegate a unit to a native worker only for parallel
|
|
415
|
+
work, context isolation, independent review or specialization, under the
|
|
416
|
+
[delegation contract](skills/nobrainer-tech-flow/references/delivery.md#coordinated-team-execution).
|
|
417
|
+
MAIN coordinates, integrates and verifies. Team supplies
|
|
386
418
|
capabilities; Dispatcher schedules real queues. Visible sessions require an
|
|
387
419
|
explicit owner request or authorized MAIN restart.
|
|
388
420
|
- Failed review returns to `nobrainer-build`; changed code invalidates old proof.
|
|
@@ -402,7 +434,7 @@ configured limits. Missing optional telemetry lowers the health claim and still
|
|
|
402
434
|
allows bounded safe work. An explicitly required hard budget must be enforceable.
|
|
403
435
|
`RUNTIME_RELEASE` concerns actual task-owned workers; a completed result does not
|
|
404
436
|
prove they stopped. `GOAL_FILE` is optional Markdown recovery state. A native goal
|
|
405
|
-
|
|
437
|
+
mirrors the DoD where the host offers one; the file alone suffices.
|
|
406
438
|
|
|
407
439
|
Autopilot works with one visible MAIN coordinator and bounded native workers.
|
|
408
440
|
Ordinary native assignments use the compact packet in the delegation contract,
|
|
@@ -531,15 +563,26 @@ prove production. See [Compatibility](docs/COMPATIBILITY.md) for current proof
|
|
|
531
563
|
and [Testing](docs/TESTING.md) for acceptance evidence.
|
|
532
564
|
|
|
533
565
|
|
|
534
|
-
**What's new in 2.
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
566
|
+
**What's new in 2.7.0:** before substantial work the agent shows what done means and sets
|
|
567
|
+
it as the host's native goal where one exists, and the TODO stays visible. Flow delegates only where it pays: one MAIN loop with skills does
|
|
568
|
+
the work, and a unit goes to a native worker only for parallel work, context isolation,
|
|
569
|
+
independent review or specialization. When the owner keeps adding requests in one long conversation,
|
|
570
|
+
Flow records each one in the goal file as it arrives instead of leaving it only in the
|
|
571
|
+
transcript, where compaction can drop it; a changed decision updates the goal file at once
|
|
572
|
+
and, as the project's learning policy allows, the instruction-file lines that still state
|
|
573
|
+
the old rule. The optional Claude Code guards point the agent back to the active goal file
|
|
574
|
+
after compaction, resume or clear, and `nobrainer-team` fills a capability gap with a
|
|
575
|
+
task-local specialist brief instead of third-party skills. A security review needs a second
|
|
576
|
+
independent pass before it can report a clean result. After fixing a defect that was public
|
|
577
|
+
or reachable before the fix, the agent checks for exploitation during that window or reports
|
|
578
|
+
it as untested. When docs and code disagree on a coding convention, `nobrainer-build`
|
|
579
|
+
follows the code unless an owner rule or a deliberate migration says otherwise, and reports
|
|
580
|
+
each disagreement, with the edit that fixes a stale file when the code wins. See [RELEASE-NOTES.md](RELEASE-NOTES.md).
|
|
581
|
+
|
|
582
|
+
Current source version: **2.7.0**. Check the
|
|
540
583
|
[latest published GitHub release](https://github.com/nobrainer-tech/nobrainer-tech-flow/releases/latest)
|
|
541
|
-
for distribution and the [2.
|
|
542
|
-
[2.
|
|
584
|
+
for distribution and the [2.7.0](docs/releases/v2.7.0.md), [2.6.0](docs/releases/v2.6.0.md) and
|
|
585
|
+
[2.5.0 verification records](docs/releases/v2.5.0.md) for
|
|
543
586
|
the current scope, reproducible checks and client-runtime limits. The unchanged command runner keeps its
|
|
544
587
|
[v1.7.0 verification scope](docs/releases/v1.7.0.md). Source publication does not
|
|
545
588
|
imply client marketplace discovery or improved model reasoning. The earlier
|
|
@@ -600,11 +643,10 @@ docs/ compatibility, curation, eval and release evidence
|
|
|
600
643
|
assets/ brand and workflow diagrams
|
|
601
644
|
```
|
|
602
645
|
|
|
603
|
-
Client-specific forks of a skill are prohibited.
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
gate.
|
|
646
|
+
Client-specific forks of a skill are prohibited. Team fills a capability gap
|
|
647
|
+
with a task-local specialist brief for a native worker; it never searches for,
|
|
648
|
+
installs or runs third-party skills. Installing anything is the owner's own
|
|
649
|
+
separate decision.
|
|
608
650
|
|
|
609
651
|
</details>
|
|
610
652
|
|
package/adapters/bootstrap.md
CHANGED
|
@@ -10,8 +10,8 @@ selection; install chosen items plus required dependencies. Preserve MAIN; mark
|
|
|
10
10
|
unknown runtime facts `UNKNOWN`. Back up, read back and keep rollback. Load skills
|
|
11
11
|
on demand; never execute linked installers.
|
|
12
12
|
|
|
13
|
-
Keep updates brief, outcome-first and non-repetitive.
|
|
14
|
-
|
|
13
|
+
Keep updates brief, outcome-first and non-repetitive. Work in one MAIN loop; delegate only for
|
|
14
|
+
parallel work, context isolation, independent review or specialization; MAIN integrates and verifies.
|
|
15
15
|
|
|
16
16
|
`PROBLEM_GATE`: start from the literal failure, local evidence and smallest
|
|
17
17
|
reproducer. Query useful wiki decisions. Use current internet research when the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" role="img" aria-labelledby="title desc">
|
|
2
2
|
<title id="title">nobrainer-tech-flow delivery workflow</title>
|
|
3
|
-
<desc id="desc">Check the nobrainer-tech-flow release on first active use each day. Clear tasks use the QUICK PATH. Larger work derives a short-term goal from the owner's direction, inspects project layers and wiki, executes the authorized scope and verifies the result. Model policy preserves the selected MAIN model and effort.
|
|
3
|
+
<desc id="desc">Check the nobrainer-tech-flow release on first active use each day. Clear tasks use the QUICK PATH. Larger work derives a short-term goal from the owner's direction, inspects project layers and wiki, executes the authorized scope and verifies the result. Model policy preserves the selected MAIN model and effort. One MAIN loop does the work with skills; native workers take only units that gain from parallel work, context isolation, independent review or specialization. MAIN coordinates, integrates and verifies each result. Auto Fine Tune calibrates routes when useful; it is not a dispatch prerequisite. A Markdown GOAL_FILE supports recovery. A fresh session takes over before authorized archival of the old one. RUNTIME_RELEASE readback verifies owned workers. The full goal remains open until acceptance and delivery proof pass.</desc>
|
|
4
4
|
<defs>
|
|
5
5
|
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
|
6
6
|
<stop offset="0" stop-color="#0F1319"/>
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
<rect x="1186" y="304" width="90" height="34" rx="0" class="chip"/>
|
|
85
85
|
<text x="1211" y="326" class="chip-text">SDD</text>
|
|
86
86
|
<rect x="1288" y="304" width="198" height="34" rx="0" class="chip"/>
|
|
87
|
-
<text x="1300" y="326" class="chip-text-small">
|
|
87
|
+
<text x="1300" y="326" class="chip-text-small">QUALIFYING WORKERS</text>
|
|
88
88
|
</g>
|
|
89
89
|
|
|
90
90
|
<g filter="url(#soft-shadow)">
|
package/docs/CHAT_PLUGINS.md
CHANGED
|
@@ -10,7 +10,9 @@ In Claude, open Customize > Plugins, choose Add > Upload plugin and select the Z
|
|
|
10
10
|
|
|
11
11
|
In ChatGPT Work or Codex, install from a supported local/repository marketplace or from the public Plugins directory once the listing is approved. The repository marketplace identifies this source package. A downloadable ZIP is a release artifact, not proof of directory approval. OpenAI's public directory requires a verified developer identity, package scans and platform review before publication.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
The npm package `nobrainer-tech-flow` is published, so it can also serve as a plugin source. A marketplace can reference source type npm, package nobrainer-tech-flow and an exact published version. The client downloads the package without running npm lifecycle scripts.
|
|
14
|
+
|
|
15
|
+
To use Flow without installing anything, add the free remote MCP server `https://mcp.nobrainer.tech/mcp` in claude.ai (custom connector) or ChatGPT (custom MCP server), or in any MCP client. It needs no sign-in, is stateless and offers six read-only tools: `start_flow_task`, `get_flow_step`, `check_flow_evidence`, `check_flow_done`, `draft_flow_handoff` and `recommend_flow_model`. It gives the agent a task contract, an evidence check and a done gate plus a model advisor; it does not install the 18 modules. Per-client steps and which clients are verified: [MCP server README](../mcp/README.md#install).
|
|
14
16
|
|
|
15
17
|
## Check the installation
|
|
16
18
|
|
|
@@ -26,4 +28,4 @@ If browser, shell, workers or local files are unavailable, the workflow must rep
|
|
|
26
28
|
- Claude supported surfaces: https://claude.com/docs/plugins/platform-support
|
|
27
29
|
- Claude publication: https://claude.com/docs/directory/publish
|
|
28
30
|
|
|
29
|
-
The inFakt integration uses an MCP server and OAuth to access an existing account: https://www.infakt.pl/integracje-z-infakt-za-pomoca-api/#asystenci-ai .
|
|
31
|
+
The inFakt integration uses an MCP server and OAuth to access an existing account: https://www.infakt.pl/integracje-z-infakt-za-pomoca-api/#asystenci-ai . The plugin ZIP and the npm package need skills and the client's existing tools, so they do not add an MCP backend or require account access. The MCP server above is a separate, optional path.
|
package/docs/INSTALL.md
CHANGED
|
@@ -14,17 +14,18 @@ upgraded merely because the new source is installed nearby.
|
|
|
14
14
|
Node 18+ and Python 3.11+ are prerequisites. Preview the setup first:
|
|
15
15
|
|
|
16
16
|
```sh
|
|
17
|
-
npx nobrainer-tech-flow@2.
|
|
18
|
-
npx nobrainer-tech-flow@2.
|
|
19
|
-
npx nobrainer-tech-flow@2.
|
|
17
|
+
npx nobrainer-tech-flow@2.7.0 --client codex
|
|
18
|
+
npx nobrainer-tech-flow@2.7.0 --client codex --apply
|
|
19
|
+
npx nobrainer-tech-flow@2.7.0 --client codex --undo --apply
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Use claude for Claude Code, opencode or copilot for those clients. Add --home PATH
|
|
23
|
-
for an isolated profile.
|
|
24
|
-
|
|
23
|
+
for an isolated profile. The package is published on
|
|
24
|
+
[npm](https://www.npmjs.com/package/nobrainer-tech-flow); each release lists its
|
|
25
|
+
version there.
|
|
25
26
|
|
|
26
27
|
Application copies the release files into the chosen home directory's
|
|
27
|
-
.nobrainer-tech-flow-npm/2.
|
|
28
|
+
.nobrainer-tech-flow-npm/2.7.0 and verifies the copy. That folder sits beside
|
|
28
29
|
~/.nobrainer-tech-flow, where the Git installation suggests a clone, so cleaning
|
|
29
30
|
the clone cannot delete the files the skill links point to. Releases before 2.3.2
|
|
30
31
|
kept their copy in .nobrainer-tech-flow/npm; undo such a setup with the command of
|
|
@@ -106,14 +107,18 @@ flags). The two share the setup record, so either one undoes what the other did.
|
|
|
106
107
|
- Running `--apply` again when nothing needs to change prints `UP TO DATE` and no
|
|
107
108
|
restart hint. `INSTALLED` and the restart hint appear only when a link or the
|
|
108
109
|
instruction file was written.
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
- The only standing authorization it writes is the default one-line daily update of
|
|
111
|
+
Flow itself to a verified stable release; session rotation still needs its own
|
|
112
|
+
opt-in. When the block in the instruction file is the text of an earlier version,
|
|
113
|
+
both scripts replace it with this version's text, keep everything outside the two
|
|
114
|
+
markers byte for byte and save the file as it was as a `.bak` copy first. Both keep
|
|
115
|
+
the update choice: an existing block updates itself again only when it holds the
|
|
116
|
+
update line as its own line, and a notify-only, edited or unknown update line is
|
|
117
|
+
replaced by the one-line notify-only rule. `install.py` also keeps session-restart
|
|
118
|
+
and wiki-root settings as `--keep-options` keeps them; `install.sh` leaves a block
|
|
119
|
+
that carries one of those options or a preference, or whose markers do not stand on
|
|
120
|
+
lines of their own, exactly as it is and says so. Change options with
|
|
121
|
+
`install_personalization.py`.
|
|
117
122
|
- `--undo` (a preview until `--apply` is added) removes exactly the links the setup
|
|
118
123
|
created and puts the managed block back as it was before the first setup:
|
|
119
124
|
removed, or the block that was there before. The rest of the instruction file
|
|
@@ -276,17 +281,24 @@ the instructions. A guided setup recorded earlier for the Codex file asks for an
|
|
|
276
281
|
undo before it writes the Claude file. `agents` needs an explicit verified
|
|
277
282
|
`--path`. For a resolved global wiki,
|
|
278
283
|
pass `--wiki-root PATH` pointing at a directory containing `WIKI.md`; this
|
|
279
|
-
records the actual location in the personalization block.
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
284
|
+
records the actual location in the personalization block. Since 2.6.0 the
|
|
285
|
+
block keeps Flow updated by default with one line: once a day on first use,
|
|
286
|
+
update to the latest verified stable release from the canonical source, with a
|
|
287
|
+
backup, changing nothing else. `--no-auto-update` writes a one-line notify-only
|
|
288
|
+
rule instead; `--auto-update` is still accepted and means the default. With
|
|
289
|
+
`--keep-options` an opt-out already in the block stays, and the longer update
|
|
290
|
+
lines written before 2.6.0 become the matching short line (an old grant stays a
|
|
291
|
+
grant, the old notify-only default stays notify-only). An update line that is
|
|
292
|
+
neither recognized grant becomes the notify-only line: updates are never inferred. `--auto-session-restart`
|
|
293
|
+
opts into evidence-gated session rotation. A later run without those flags
|
|
294
|
+
writes the default block again; add `--keep-options` to keep the update choice,
|
|
295
|
+
session-restart and wiki-root settings already in the block (the guided setup
|
|
296
|
+
always does). A grant counts
|
|
285
297
|
only as the exact line the installer writes for it, so wording quoted in a
|
|
286
298
|
`--preferences` value never becomes one, and a preference or wiki path must be
|
|
287
299
|
one printable line. A grant line that was edited is not kept, and the run says so
|
|
288
|
-
and names the flag that grants it again.
|
|
289
|
-
|
|
300
|
+
and names the flag that grants it again. With the
|
|
301
|
+
notify-only line, the first active `nobrainer-tech-flow` use each day checks and
|
|
290
302
|
notifies. Use a scheduler separately if updates must be checked on inactive days.
|
|
291
303
|
|
|
292
304
|
A newer release must be obtained at a verified immutable ref before any
|
|
@@ -426,7 +438,7 @@ After restart, verify:
|
|
|
426
438
|
|
|
427
439
|
#### Optional guards
|
|
428
440
|
|
|
429
|
-
|
|
441
|
+
Opt-in hooks in your Claude Code user `settings.json`, never in the plugin:
|
|
430
442
|
|
|
431
443
|
- before a shell command, Claude Code asks you first (it never denies) for
|
|
432
444
|
`rm -r` (also `/bin/rm`) outside the temporary folders (`$TMPDIR`, `/tmp`,
|
|
@@ -442,7 +454,14 @@ Two opt-in hooks in your Claude Code user `settings.json`, never in the plugin:
|
|
|
442
454
|
- when a turn that edited files or ran commands ends without a line starting
|
|
443
455
|
with `Proof:` or `Checked:` and without `UNVERIFIED`, the stop is blocked once
|
|
444
456
|
so the agent adds one. A read-only turn, a second stop and an unreadable
|
|
445
|
-
transcript are let through
|
|
457
|
+
transcript are let through;
|
|
458
|
+
- after compaction, resume or clear, the agent is told to re-read up to three
|
|
459
|
+
active Flow goal files (a `GOAL_ID:` line and a `STATUS` other than `COMPLETE`,
|
|
460
|
+
in the project root, `tasks/`, `docs/` or `.nobrainer/`). It prints only each
|
|
461
|
+
path and a known `STATUS` word, never other goal-file text; it follows no
|
|
462
|
+
symlink, skips names with characters other than letters, digits, `.`, `-` and
|
|
463
|
+
`_`, stops after 5,000 folder entries or 200 files, and prints nothing on any
|
|
464
|
+
error.
|
|
446
465
|
|
|
447
466
|
This is a seatbelt, not a security boundary. It reads the command text, so
|
|
448
467
|
`sh -c`, a variable or an alias gets past it, and a risky phrase inside a quoted
|
|
@@ -459,7 +478,7 @@ python3 scripts/install.py --client claude --guards --undo --apply
|
|
|
459
478
|
`~/.claude/settings.json` when the variable is unset. The preview lists only the
|
|
460
479
|
hooks it would add or remove, never other settings; other hooks are kept, each
|
|
461
480
|
change writes a new backup, readable only by you, without overwriting an older one, a second `--apply`
|
|
462
|
-
changes nothing, and an invalid file is refused
|
|
481
|
+
changes nothing, an install from an earlier version is shown as an update, and an invalid file is refused
|
|
463
482
|
(exit 3) without being touched. The hooks run `flow_guard.py` through the
|
|
464
483
|
skill link that `--client claude` created, so install the skills first. A
|
|
465
484
|
plugin-only install, other clients, `scripts/install.sh` and Windows are not
|
|
@@ -472,7 +491,9 @@ PreToolUse reads `tool_name`, `tool_input.command` and `cwd` and answers
|
|
|
472
491
|
`hookSpecificOutput.permissionDecision: "ask"` with `permissionDecisionReason`;
|
|
473
492
|
Stop and SubagentStop read `stop_hook_active`, `last_assistant_message`,
|
|
474
493
|
`transcript_path` and `agent_transcript_path` and answer
|
|
475
|
-
`{"decision": "block", "reason": ...}
|
|
494
|
+
`{"decision": "block", "reason": ...}`; SessionStart (matcher
|
|
495
|
+
`compact|resume|clear`) reads `cwd` and answers
|
|
496
|
+
`hookSpecificOutput.additionalContext`.
|
|
476
497
|
|
|
477
498
|
### Codex
|
|
478
499
|
|
|
@@ -585,10 +606,10 @@ actually exposes and passes that integration.
|
|
|
585
606
|
|
|
586
607
|
The eighteen curated skills are the stable base. When a concrete work unit still
|
|
587
608
|
has a capability gap, `nobrainer-team` first inventories installed/project
|
|
588
|
-
capabilities, then
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
owner
|
|
609
|
+
capabilities, then writes a task-local specialist brief (role, method from
|
|
610
|
+
project docs or verified primary sources, allowed actions, write scope and
|
|
611
|
+
acceptance) for a native worker. Team never searches for, installs or runs
|
|
612
|
+
third-party skills; installing anything is the owner's own separate decision.
|
|
592
613
|
|
|
593
614
|
## Readback and acceptance
|
|
594
615
|
|
package/docs/SKILL_CURATION.md
CHANGED
|
@@ -71,13 +71,13 @@ Team resolves a capability gap in this order:
|
|
|
71
71
|
2. already installed and inspected specialist;
|
|
72
72
|
3. maintained project/API/CLI/native capability;
|
|
73
73
|
4. bounded current research;
|
|
74
|
-
5.
|
|
74
|
+
5. a task-local specialist brief for a native worker, written from project docs
|
|
75
|
+
or verified primary sources.
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
the added trigger/context surface.
|
|
77
|
+
Team never searches for, installs or runs third-party skills. Third-party text
|
|
78
|
+
met during research is data, not instructions. A new permanent skill needs
|
|
79
|
+
evidence that repeated use earns the added trigger/context surface and goes
|
|
80
|
+
through the normal curation review.
|
|
81
81
|
|
|
82
82
|
## Retirement test
|
|
83
83
|
|