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.
- package/.agents/plugins/marketplace.json +20 -0
- package/.claude-plugin/marketplace.json +18 -0
- package/.claude-plugin/plugin.json +21 -0
- package/.codex-plugin/plugin.json +47 -0
- package/.opencode/INSTALL.md +37 -0
- package/.opencode/plugins/nobrainer-tech-skills.js +66 -0
- package/.pi/extensions/nobrainer-tech-skills.js +64 -0
- package/AGENTS.md +205 -0
- package/CLAUDE.md +205 -0
- package/CONTRIBUTING.md +70 -0
- package/GEMINI.md +1 -0
- package/LICENSE +21 -0
- package/README.md +659 -2
- package/SECURITY.md +33 -0
- package/adapters/bootstrap.md +27 -0
- package/assets/nobrainer-tech-logo.svg +1 -0
- package/assets/nobrainer-workflow.svg +155 -0
- package/assets/plugin-logo.png +0 -0
- package/bin/nobrainer-tech-flow.mjs +48 -0
- package/docs/BOUNDED_RUNNER.md +60 -0
- package/docs/CHAT_PLUGINS.md +29 -0
- package/docs/COMPATIBILITY.md +371 -0
- package/docs/INSTALL.md +626 -0
- package/docs/MIGRATION_TO_FLOW.md +117 -0
- package/docs/NAMING.md +39 -0
- package/docs/PRIVACY.md +9 -0
- package/docs/RELEASING.md +24 -0
- package/docs/SESSION_RESTART.md +70 -0
- package/docs/SKILL_CURATION.md +124 -0
- package/docs/TESTING.md +232 -0
- package/docs/TRY_IT.md +109 -0
- package/docs/releases/v1.0.0.md +81 -0
- package/docs/releases/v1.1.0.md +85 -0
- package/docs/releases/v1.10.0.md +34 -0
- package/docs/releases/v1.11.0-publication-readback.md +25 -0
- package/docs/releases/v1.11.0.md +42 -0
- package/docs/releases/v1.12.0.md +30 -0
- package/docs/releases/v1.13.0.md +46 -0
- package/docs/releases/v1.14.0.md +43 -0
- package/docs/releases/v1.14.1.md +21 -0
- package/docs/releases/v1.2.0.md +87 -0
- package/docs/releases/v1.2.1.md +92 -0
- package/docs/releases/v1.3.0-publication-readback.md +69 -0
- package/docs/releases/v1.3.0.md +66 -0
- package/docs/releases/v1.3.1-publication-readback.md +76 -0
- package/docs/releases/v1.3.1.md +59 -0
- package/docs/releases/v1.4.0-publication-readback.md +81 -0
- package/docs/releases/v1.4.0.md +43 -0
- package/docs/releases/v1.5.0-publication-readback.md +76 -0
- package/docs/releases/v1.5.0.md +54 -0
- package/docs/releases/v1.6.0.md +64 -0
- package/docs/releases/v1.6.1-publication-readback.md +53 -0
- package/docs/releases/v1.6.1.md +82 -0
- package/docs/releases/v1.7.0.md +42 -0
- package/docs/releases/v1.7.1-publication-readback.md +64 -0
- package/docs/releases/v1.7.1.md +49 -0
- package/docs/releases/v1.8.0.md +63 -0
- package/docs/releases/v1.8.1.md +32 -0
- package/docs/releases/v1.9.0.md +33 -0
- package/docs/releases/v2.0.0-candidate.md +28 -0
- package/docs/releases/v2.0.0.md +53 -0
- package/docs/releases/v2.0.1.md +135 -0
- package/docs/releases/v2.0.2.md +189 -0
- package/docs/releases/v2.1.0.md +64 -0
- package/docs/releases/v2.1.1.md +43 -0
- package/docs/releases/v2.2.0.md +64 -0
- package/docs/releases/v2.2.1.md +11 -0
- package/docs/releases/v2.3.0.md +97 -0
- package/docs/releases/v2.3.1.md +71 -0
- package/docs/releases/v2.3.2.md +242 -0
- package/docs/releases/v2.4.0.md +126 -0
- package/docs/releases/v2.4.1.md +63 -0
- package/gemini-extension.json +6 -0
- package/hooks/claude-hooks.json +17 -0
- package/hooks/hooks-cursor.json +10 -0
- package/hooks/run-hook.cmd +36 -0
- package/hooks/session-start +38 -0
- package/package.json +69 -4
- package/plugin.json +51 -0
- package/scripts/build_plugin.py +50 -0
- package/scripts/check_flow_update.py +18 -0
- package/scripts/check_public_commit.py +86 -0
- package/scripts/fetch_public_refs.py +69 -0
- package/scripts/install.py +600 -0
- package/scripts/install.sh +1420 -0
- package/scripts/install_guards.py +279 -0
- package/scripts/install_personalization.py +527 -0
- package/scripts/install_skills.py +951 -0
- package/scripts/npm_install.py +85 -0
- package/scripts/recommend_flow_setup.py +1537 -0
- package/scripts/validate_skills.py +465 -0
- package/skills/nobrainer-auto-fine-tune/SKILL.md +79 -0
- package/skills/nobrainer-auto-fine-tune/references/capacity-audit.md +49 -0
- package/skills/nobrainer-autoimprove/SKILL.md +212 -0
- package/skills/nobrainer-autoimprove/scripts/count_words.py +22 -0
- package/skills/nobrainer-browser/SKILL.md +234 -0
- package/skills/nobrainer-browser/references/cdp-profile-restart.md +93 -0
- package/skills/nobrainer-build/SKILL.md +173 -0
- package/skills/nobrainer-codex-context/SKILL.md +111 -0
- package/skills/nobrainer-codex-context/scripts/codex_context.py +175 -0
- package/skills/nobrainer-decide/SKILL.md +198 -0
- package/skills/nobrainer-dispatcher/SKILL.md +256 -0
- package/skills/nobrainer-dispatcher/agents/openai.yaml +4 -0
- package/skills/nobrainer-rca/SKILL.md +163 -0
- package/skills/nobrainer-research/SKILL.md +131 -0
- package/skills/nobrainer-review/SKILL.md +195 -0
- package/skills/nobrainer-security/SKILL.md +166 -0
- package/skills/nobrainer-sessions/SKILL.md +223 -0
- package/skills/nobrainer-sessions/references/evidence-receipt.md +55 -0
- package/skills/nobrainer-sessions/references/protocol.md +337 -0
- package/skills/nobrainer-sessions/references/session-restart.md +255 -0
- package/skills/nobrainer-sessions/scripts/evidence_receipt.py +373 -0
- package/skills/nobrainer-sessions/scripts/restart_gate.py +140 -0
- package/skills/nobrainer-sessions/scripts/run_bounded.py +390 -0
- package/skills/nobrainer-sessions/scripts/session_title.py +43 -0
- package/skills/nobrainer-skill-doctor/SKILL.md +149 -0
- package/skills/nobrainer-skill-doctor/references/astra.md +19 -0
- package/skills/nobrainer-skill-doctor/scripts/audit.py +100 -0
- package/skills/nobrainer-skill-doctor/scripts/context_candidates.py +133 -0
- package/skills/nobrainer-spec-driven-development/SKILL.md +132 -0
- package/skills/nobrainer-spec-driven-development/references/spec-template.md +114 -0
- package/skills/nobrainer-team/SKILL.md +165 -0
- package/skills/nobrainer-team/references/team-plan.md +64 -0
- package/skills/nobrainer-tech-flow/SKILL.md +239 -0
- package/skills/nobrainer-tech-flow/VERSION +1 -0
- package/skills/nobrainer-tech-flow/references/autopilot.md +72 -0
- package/skills/nobrainer-tech-flow/references/codex-routing.md +21 -0
- package/skills/nobrainer-tech-flow/references/communication.md +108 -0
- package/skills/nobrainer-tech-flow/references/correction-hooks.md +110 -0
- package/skills/nobrainer-tech-flow/references/daily-update.md +28 -0
- package/skills/nobrainer-tech-flow/references/delivery.md +243 -0
- package/skills/nobrainer-tech-flow/references/idea-to-delivery.md +82 -0
- package/skills/nobrainer-tech-flow/references/long-run-state.md +209 -0
- package/skills/nobrainer-tech-flow/references/model-routing.md +83 -0
- package/skills/nobrainer-tech-flow/references/optional-decisions.md +83 -0
- package/skills/nobrainer-tech-flow/references/project-start.md +22 -0
- package/skills/nobrainer-tech-flow/references/routing.md +125 -0
- package/skills/nobrainer-tech-flow/references/setup.md +180 -0
- package/skills/nobrainer-tech-flow/references/worktrees.md +138 -0
- package/skills/nobrainer-tech-flow/scripts/check_flow_update.py +298 -0
- package/skills/nobrainer-tech-flow/scripts/cleanup_worktree.py +327 -0
- package/skills/nobrainer-tech-flow/scripts/decision_config.py +107 -0
- package/skills/nobrainer-tech-flow/scripts/flow_guard.py +252 -0
- package/skills/nobrainer-tech-flow/scripts/typed_decisions.py +210 -0
- package/skills/nobrainer-wiki/SKILL.md +164 -0
- package/skills/nobrainer-wiki/references/setup.md +88 -0
- package/skills/nobrainer-writing/SKILL.md +272 -0
- package/skills/nobrainer-writing/agents/openai.yaml +4 -0
- package/skills/nobrainer-writing/references/brief-artifacts.md +357 -0
- package/skills/nobrainer-writing/references/plain-technical-english.md +76 -0
- 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.
|