briefops 2.0.0 → 2.1.2
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/CHANGELOG.md +20 -0
- package/README.md +48 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.js +27 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/harness.d.ts +2 -0
- package/dist/commands/harness.js +56 -0
- package/dist/commands/harness.js.map +1 -0
- package/dist/commands/memory.js +20 -3
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/obs.d.ts +2 -0
- package/dist/commands/obs.js +51 -0
- package/dist/commands/obs.js.map +1 -0
- package/dist/core/codex.js +18 -2
- package/dist/core/codex.js.map +1 -1
- package/dist/core/codexPlugin.js +49 -1
- package/dist/core/codexPlugin.js.map +1 -1
- package/dist/core/exportTargets.js +20 -3
- package/dist/core/exportTargets.js.map +1 -1
- package/dist/core/harness.d.ts +27 -0
- package/dist/core/harness.js +342 -0
- package/dist/core/harness.js.map +1 -0
- package/dist/core/lock.d.ts +1 -0
- package/dist/core/lock.js +18 -4
- package/dist/core/lock.js.map +1 -1
- package/dist/core/memory.d.ts +4 -1
- package/dist/core/memory.js +54 -2
- package/dist/core/memory.js.map +1 -1
- package/dist/core/memoryHygiene.d.ts +11 -0
- package/dist/core/memoryHygiene.js +93 -0
- package/dist/core/memoryHygiene.js.map +1 -1
- package/dist/core/memoryProposal.js +21 -8
- package/dist/core/memoryProposal.js.map +1 -1
- package/dist/core/observability.d.ts +36 -0
- package/dist/core/observability.js +70 -0
- package/dist/core/observability.js.map +1 -0
- package/dist/core/securityDoctor.js +3 -5
- package/dist/core/securityDoctor.js.map +1 -1
- package/dist/core/strictDoctor.d.ts +22 -0
- package/dist/core/strictDoctor.js +95 -0
- package/dist/core/strictDoctor.js.map +1 -0
- package/dist/schemas/memory.d.ts +100 -0
- package/dist/schemas/memory.js +9 -1
- package/dist/schemas/memory.js.map +1 -1
- package/dist/schemas/memoryProposal.d.ts +115 -0
- package/dist/schemas/memoryProposal.js +2 -1
- package/dist/schemas/memoryProposal.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/compatibility.md +7 -3
- package/docs/file-format.md +3 -1
- package/docs/impact-report.md +140 -0
- package/docs/integrations/harnesses.md +9 -0
- package/docs/master-harness.md +610 -0
- package/docs/privacy-model.md +2 -0
- package/docs/quickstart.md +25 -0
- package/docs/release-checklist.md +16 -2
- package/docs/roadmap.md +12 -5
- package/docs/token-budget.md +8 -0
- package/package.json +2 -2
- package/plugins/briefops-codex/.codex-plugin/plugin.json +2 -1
- package/plugins/briefops-codex/README.md +10 -0
- package/plugins/briefops-codex/skills/briefops-continue-worker/SKILL.md +2 -0
- package/plugins/briefops-codex/skills/briefops-finish-task/SKILL.md +2 -0
- package/plugins/briefops-codex/skills/briefops-prime-context/SKILL.md +9 -1
- package/plugins/briefops-codex/skills/briefops-review-memory/SKILL.md +2 -0
- package/plugins/briefops-codex/skills/briefops-route-task/SKILL.md +35 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,26 @@
|
|
|
4
4
|
|
|
5
5
|
- No changes yet.
|
|
6
6
|
|
|
7
|
+
## 2.1.2 - 2026-07-01
|
|
8
|
+
|
|
9
|
+
- Add an explicit BriefOps environment gate to generated startup guidance so missing `briefops` on `PATH` becomes `Status: setup-required` instead of a silently skipped prime step.
|
|
10
|
+
|
|
11
|
+
## 2.1.1 - 2026-06-28
|
|
12
|
+
|
|
13
|
+
- Refresh the development dependency baseline for Node.js type definitions and Vitest lockfile resolution.
|
|
14
|
+
- Prepare the npm package version for the next patch publication after the GitHub-only `v2.1.0` tag.
|
|
15
|
+
- Clarify npm install, release readiness, and 2.1.x public documentation.
|
|
16
|
+
|
|
17
|
+
## 2.1.0 - 2026-06-22
|
|
18
|
+
|
|
19
|
+
- Add `briefops harness route` and `briefops harness matrix` as a Codex-first Master Harness routing MVP.
|
|
20
|
+
- Add a Codex `briefops-route-task` skill for workflow-depth classification before implementation.
|
|
21
|
+
- Add `briefops obs continuity` for compression, continuity, queue, and memory hygiene observability without dumping private memory.
|
|
22
|
+
- Add `briefops doctor --strict --json` as a local release-readiness gate across stability, security, privacy, and memory hygiene.
|
|
23
|
+
- Add optional evidence anchors to memory items and memory proposals.
|
|
24
|
+
- Harden lock stale detection so fresh in-progress lock files are not removed during concurrent writes.
|
|
25
|
+
- Update release readiness docs and patch the esbuild lockfile to clear npm audit findings.
|
|
26
|
+
|
|
7
27
|
## 2.0.0 - 2026-06-14
|
|
8
28
|
|
|
9
29
|
- Make `briefops finish` apply durable directory-local memory by default while retaining proposal files as an audit trail.
|
package/README.md
CHANGED
|
@@ -46,7 +46,9 @@ BriefOps can generate Codex skill-plugin assets, but the plugin calls the local
|
|
|
46
46
|
|
|
47
47
|
## Release Status
|
|
48
48
|
|
|
49
|
-
BriefOps 2.
|
|
49
|
+
BriefOps 2.1.2 is the current npm-ready release for developers who want a local-first memory and context ledger for AI coding agents. It packages the 2.1 Master Harness routing, continuity observability, strict release-readiness checks, evidence anchors, workspace-lock hardening, and the fresh-thread environment gate that treats missing local CLI setup as `Status: setup-required`.
|
|
50
|
+
|
|
51
|
+
The public CLI behavior and workspace file-format policy are documented in `docs/compatibility.md` and `docs/file-format.md`. The core safety principles are stable:
|
|
50
52
|
|
|
51
53
|
- local files first
|
|
52
54
|
- no hosted service required
|
|
@@ -69,6 +71,13 @@ Before publishing a repository or sharing generated context, review:
|
|
|
69
71
|
|
|
70
72
|
## Install
|
|
71
73
|
|
|
74
|
+
From npm:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm install -g briefops
|
|
78
|
+
briefops --version
|
|
79
|
+
```
|
|
80
|
+
|
|
72
81
|
From this repository:
|
|
73
82
|
|
|
74
83
|
```bash
|
|
@@ -94,6 +103,14 @@ briefops --help
|
|
|
94
103
|
|
|
95
104
|
This is the primary BriefOps workflow.
|
|
96
105
|
|
|
106
|
+
BriefOps is a first-context gate for repos that opt into it. At the start of a fresh thread, verify the CLI before broad repo/history inspection:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
command -v briefops >/dev/null 2>&1
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If `briefops` is not on `PATH`, stop and report `Status: setup-required`. Do not continue by silently skipping BriefOps; install with `npm install -g briefops`, use `npx briefops@latest`, or explicitly continue from an already supplied Brief/Spec/Plan.
|
|
113
|
+
|
|
97
114
|
### 1. Initialize
|
|
98
115
|
|
|
99
116
|
```bash
|
|
@@ -252,6 +269,22 @@ Exports are routers, not memory dumps. They tell local AI tools to run `briefops
|
|
|
252
269
|
|
|
253
270
|
They do not copy `.briefops` memory, raw logs, private decisions, incidents, handoffs, or worker summaries into `AGENTS.md`, `CLAUDE.md`, or Cursor rules. Export commands default to `--export-policy shared-only` because these files are often committed.
|
|
254
271
|
|
|
272
|
+
## Master Harness Routing
|
|
273
|
+
|
|
274
|
+
Use the Master Harness router when Codex should decide the smallest sufficient workflow before implementation:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
briefops harness route --task "Fix the failing dashboard layout test."
|
|
278
|
+
briefops harness route --task "Build the release readiness flow." --type large-feature
|
|
279
|
+
briefops harness matrix
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
The router classifies work across bug fixes, features, refactors, dependency upgrades, UI changes, test repairs, incidents, documentation, architecture decisions, research, code review, and release preparation. It returns the required specification, planning, goal ledger, findings, verification, memory update, artifacts, exit criteria, and final response contract.
|
|
283
|
+
|
|
284
|
+
In 2.1.x this is a routing contract, not a forced process engine. Tiny fixes can stay light; release, incident, UI, and larger feature work can require evidence, findings, and handoff discipline.
|
|
285
|
+
|
|
286
|
+
See `docs/master-harness.md` for the Codex-compatible BriefOps Master Harness architecture and MVP plan.
|
|
287
|
+
|
|
255
288
|
## Context Minimalism
|
|
256
289
|
|
|
257
290
|
Inspect the built-in budget policy:
|
|
@@ -268,6 +301,14 @@ briefops compare context --worker quant-reviewer --task "Review this PR."
|
|
|
268
301
|
|
|
269
302
|
BriefOps should not become the context bloat it was built to prevent. Use `prime` first, then generate a handoff or resume pack only when continuity needs more detail.
|
|
270
303
|
|
|
304
|
+
Inspect the live continuity signal for a worker:
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
briefops obs continuity --worker quant-reviewer --task "Review this PR." --json
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
This reports raw candidate context, compiled prime size, compression, continuity health, local queues, and memory hygiene signals without dumping private memory content.
|
|
311
|
+
|
|
271
312
|
## Memory Hygiene
|
|
272
313
|
|
|
273
314
|
Not every task deserves durable memory. Use durable memory for decisions, lessons, incidents, open risks, and reusable constraints:
|
|
@@ -289,6 +330,7 @@ Run this before publishing a repository, sharing a pack, or attaching BriefOps c
|
|
|
289
330
|
briefops doctor --privacy
|
|
290
331
|
briefops doctor --privacy --fix-gitignore
|
|
291
332
|
briefops doctor --stability
|
|
333
|
+
briefops doctor --strict --json
|
|
292
334
|
```
|
|
293
335
|
|
|
294
336
|
BriefOps is local-first, but `.briefops/` may contain private logs and memory. Keep `.briefops/` out of source control unless you intentionally curated the contents.
|
|
@@ -297,6 +339,8 @@ BriefOps is local-first, but `.briefops/` may contain private logs and memory. K
|
|
|
297
339
|
|
|
298
340
|
`doctor --stability` checks local workspace integrity, schema validity, duplicate memory ids, broken references, managed-path symlinks, and orphaned review artifacts. It keeps diagnostics bounded and does not add detailed doctor output to `prime`, handoff, resume, or pack context.
|
|
299
341
|
|
|
342
|
+
`doctor --strict` aggregates stability, security, privacy, and memory hygiene checks. Warnings keep `releaseReady` false in JSON output, which makes the command useful as a pre-release gate.
|
|
343
|
+
|
|
300
344
|
## Pre-Publish Readiness
|
|
301
345
|
|
|
302
346
|
Before `npm publish`, run the local release checks and review the package contents:
|
|
@@ -304,7 +348,9 @@ Before `npm publish`, run the local release checks and review the package conten
|
|
|
304
348
|
```bash
|
|
305
349
|
npm run build
|
|
306
350
|
npm test
|
|
351
|
+
npm audit --audit-level=moderate
|
|
307
352
|
npm pack --dry-run
|
|
353
|
+
npm run verify:release
|
|
308
354
|
```
|
|
309
355
|
|
|
310
356
|
Run `npm audit --audit-level=moderate` or `npm run verify:release` only from an environment where sending dependency metadata to the npm registry is acceptable.
|
|
@@ -314,6 +360,7 @@ Confirm:
|
|
|
314
360
|
- generated harness files are routers, not `.briefops` memory dumps
|
|
315
361
|
- `briefops --version` matches `package.json`
|
|
316
362
|
- `.briefops/` is ignored or intentionally curated
|
|
363
|
+
- `npm view briefops versions --json` does not already include the target version
|
|
317
364
|
- `SECURITY.md`, `CHANGELOG.md`, and the release checklist reflect the shipped behavior
|
|
318
365
|
- `npm pack --dry-run` includes `dist`, docs, examples, plugins, README, LICENSE, SECURITY, CONTRIBUTING, CODE_OF_CONDUCT, and CHANGELOG
|
|
319
366
|
|
package/dist/cli.js
CHANGED
|
@@ -9,12 +9,14 @@ import { registerDoctorCommand } from "./commands/doctor.js";
|
|
|
9
9
|
import { registerEvalCommands } from "./commands/eval.js";
|
|
10
10
|
import { registerExportCommands } from "./commands/export.js";
|
|
11
11
|
import { registerFinishCommand } from "./commands/finish.js";
|
|
12
|
+
import { registerHarnessCommands } from "./commands/harness.js";
|
|
12
13
|
import { registerInitCommand } from "./commands/init.js";
|
|
13
14
|
import { registerHandoffCommands } from "./commands/handoff.js";
|
|
14
15
|
import { registerInboxCommand } from "./commands/inbox.js";
|
|
15
16
|
import { registerInspectCommands } from "./commands/inspect.js";
|
|
16
17
|
import { registerLogCommands } from "./commands/log.js";
|
|
17
18
|
import { registerMemoryCommands } from "./commands/memory.js";
|
|
19
|
+
import { registerObsCommands } from "./commands/obs.js";
|
|
18
20
|
import { registerPackCommands } from "./commands/pack.js";
|
|
19
21
|
import { registerPrimeCommand } from "./commands/prime.js";
|
|
20
22
|
import { registerProjectCommands } from "./commands/project.js";
|
|
@@ -33,12 +35,14 @@ export function buildProgram() {
|
|
|
33
35
|
registerPrimeCommand(program);
|
|
34
36
|
registerApproveCommand(program);
|
|
35
37
|
registerFinishCommand(program);
|
|
38
|
+
registerHarnessCommands(program);
|
|
36
39
|
registerContinueCommand(program);
|
|
37
40
|
registerExportCommands(program);
|
|
38
41
|
registerInboxCommand(program);
|
|
39
42
|
registerSkillCommands(program);
|
|
40
43
|
registerProjectCommands(program);
|
|
41
44
|
registerMemoryCommands(program);
|
|
45
|
+
registerObsCommands(program);
|
|
42
46
|
registerBriefCommands(program);
|
|
43
47
|
registerHandoffCommands(program);
|
|
44
48
|
registerCodexCommands(program);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,YAAY,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -3,6 +3,7 @@ import { memoryCategories, workspacePaths } from "../core/paths.js";
|
|
|
3
3
|
import { fixBriefOpsGitignore, runPrivacyDoctor } from "../core/privacyDoctor.js";
|
|
4
4
|
import { runSecurityDoctor } from "../core/securityDoctor.js";
|
|
5
5
|
import { runStabilityDoctor } from "../core/stabilityDoctor.js";
|
|
6
|
+
import { runStrictDoctor } from "../core/strictDoctor.js";
|
|
6
7
|
import { pathExists } from "../core/storage.js";
|
|
7
8
|
import { printTable } from "./shared.js";
|
|
8
9
|
export function registerDoctorCommand(program) {
|
|
@@ -15,7 +16,33 @@ export function registerDoctorCommand(program) {
|
|
|
15
16
|
.option("--fix-stale-locks", "Remove stale BriefOps workspace locks before reporting security checks.")
|
|
16
17
|
.option("--privacy", "Run privacy checks for local memory and share safety.")
|
|
17
18
|
.option("--fix-gitignore", "Add `.briefops/` to .gitignore when running --privacy.")
|
|
19
|
+
.option("--strict", "Run stability, security, privacy, and memory hygiene checks as one release-readiness gate.")
|
|
20
|
+
.option("--json", "Print JSON output for --strict.")
|
|
18
21
|
.action(async (options) => {
|
|
22
|
+
if (options.strict) {
|
|
23
|
+
const result = await runStrictDoctor({
|
|
24
|
+
maxExamples: options.verbose ? 25 : 5
|
|
25
|
+
});
|
|
26
|
+
if (options.json) {
|
|
27
|
+
console.log(JSON.stringify(result, null, 2));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.log("BriefOps Strict Doctor");
|
|
31
|
+
console.log("");
|
|
32
|
+
console.log(`OK: ${result.ok ? "yes" : "no"}`);
|
|
33
|
+
console.log(`Release ready: ${result.releaseReady ? "yes" : "no"}`);
|
|
34
|
+
console.log(`Checks: ${result.summary.checks} (${result.summary.ok} ok, ${result.summary.warn} warn, ${result.summary.fail} fail)`);
|
|
35
|
+
console.log("");
|
|
36
|
+
printTable([
|
|
37
|
+
["Source", "Check", "Status", "Detail"],
|
|
38
|
+
...result.checks.map((check) => [check.source, check.name, check.status, check.detail])
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
if (!result.releaseReady) {
|
|
42
|
+
process.exitCode = 1;
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
19
46
|
if (options.privacy) {
|
|
20
47
|
if (options.fixGitignore) {
|
|
21
48
|
const path = await fixBriefOpsGitignore();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { harnessRoutes, renderHarnessRoute, routeHarnessTask } from "../core/harness.js";
|
|
2
|
+
import { printTable } from "./shared.js";
|
|
3
|
+
export function registerHarnessCommands(program) {
|
|
4
|
+
const harness = program
|
|
5
|
+
.command("harness")
|
|
6
|
+
.description("Route tasks through the BriefOps Master Harness workflow.");
|
|
7
|
+
harness
|
|
8
|
+
.command("route")
|
|
9
|
+
.description("Classify a task and print the required workflow depth.")
|
|
10
|
+
.requiredOption("--task <task>", "Task description.")
|
|
11
|
+
.option("--type <type>", "Explicit task type.")
|
|
12
|
+
.option("--json", "Print machine-readable JSON.")
|
|
13
|
+
.action((options) => {
|
|
14
|
+
const result = routeHarnessTask({
|
|
15
|
+
task: options.task,
|
|
16
|
+
taskType: options.type
|
|
17
|
+
});
|
|
18
|
+
if (options.json) {
|
|
19
|
+
console.log(JSON.stringify(result, null, 2));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
console.log(renderHarnessRoute(result));
|
|
23
|
+
});
|
|
24
|
+
harness
|
|
25
|
+
.command("matrix")
|
|
26
|
+
.description("Print the Master Harness routing matrix.")
|
|
27
|
+
.option("--json", "Print machine-readable JSON.")
|
|
28
|
+
.action((options) => {
|
|
29
|
+
const routes = harnessRoutes();
|
|
30
|
+
if (options.json) {
|
|
31
|
+
console.log(JSON.stringify(routes, null, 2));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
printTable([
|
|
35
|
+
[
|
|
36
|
+
"Task Type",
|
|
37
|
+
"Spec",
|
|
38
|
+
"Plan",
|
|
39
|
+
"Goal Ledger",
|
|
40
|
+
"Findings",
|
|
41
|
+
"Verification",
|
|
42
|
+
"Memory Update"
|
|
43
|
+
],
|
|
44
|
+
...routes.map((route) => [
|
|
45
|
+
route.label,
|
|
46
|
+
route.spec,
|
|
47
|
+
route.plan,
|
|
48
|
+
route.goalLedger,
|
|
49
|
+
route.findings,
|
|
50
|
+
route.verification,
|
|
51
|
+
route.memoryUpdate
|
|
52
|
+
])
|
|
53
|
+
]);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/commands/harness.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2DAA2D,CAAC,CAAC;IAE5E,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wDAAwD,CAAC;SACrE,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAChD,MAAM,CAAC,CAAC,OAAgC,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAc;YAC5B,QAAQ,EAAE,OAAO,CAAC,IAA0B;SAC7C,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAChD,MAAM,CAAC,CAAC,OAAgC,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,UAAU,CAAC;YACT;gBACE,WAAW;gBACX,MAAM;gBACN,MAAM;gBACN,aAAa;gBACb,UAAU;gBACV,cAAc;gBACd,eAAe;aAChB;YACD,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK;gBACX,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,UAAU;gBAChB,KAAK,CAAC,QAAQ;gBACd,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,YAAY;aACnB,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/memory.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { addMemory, listMemory, showMemory, updateMemoryStatus } from "../core/memory.js";
|
|
1
|
+
import { addMemory, formatEvidenceRef, listMemory, showMemory, updateMemoryStatus } from "../core/memory.js";
|
|
2
2
|
import { inspectMemoryHygiene, planMemoryPrune } from "../core/memoryHygiene.js";
|
|
3
3
|
import { applyMemoryProposal, listMemoryProposals, proposeMemoryFromLog, readMemoryProposal, rejectMemoryProposal } from "../core/memoryProposal.js";
|
|
4
4
|
import { BriefOpsError } from "../core/errors.js";
|
|
5
5
|
import { parseCommaList } from "../core/storage.js";
|
|
6
|
-
import { printTable } from "./shared.js";
|
|
6
|
+
import { collectRepeated, printTable } from "./shared.js";
|
|
7
7
|
export function registerMemoryCommands(program) {
|
|
8
8
|
const memory = program.command("memory").description("Manage curated operational memory.");
|
|
9
9
|
memory
|
|
@@ -35,6 +35,20 @@ export function registerMemoryCommands(program) {
|
|
|
35
35
|
console.log(`- ${duplicate.ids.join(", ")}: ${duplicate.content}`);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
if (report.potentialConflicts.length > 0) {
|
|
39
|
+
console.log("");
|
|
40
|
+
console.log("Potential decision conflicts:");
|
|
41
|
+
for (const conflict of report.potentialConflicts) {
|
|
42
|
+
console.log(`- ${conflict.ids.join(" <> ")} (${conflict.sharedTerms.join(", ")}): ${conflict.first} / ${conflict.second}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (report.oldActive.length > 0) {
|
|
46
|
+
console.log("");
|
|
47
|
+
console.log("Old active memory:");
|
|
48
|
+
for (const entry of report.oldActive.slice(0, 10)) {
|
|
49
|
+
console.log(`- ${entry.item.id}: ${entry.ageDays}d - ${entry.item.content}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
38
52
|
});
|
|
39
53
|
memory
|
|
40
54
|
.command("prune")
|
|
@@ -154,6 +168,7 @@ export function registerMemoryCommands(program) {
|
|
|
154
168
|
.option("--visibility <visibility>", "private|shared|public", "private")
|
|
155
169
|
.option("--exportable", "Mark memory as exportable in future filtered exports.")
|
|
156
170
|
.option("--tags <tags>", "Comma-separated tags.")
|
|
171
|
+
.option("--evidence <ref>", "Evidence ref path[:start[-end]][#sha]. Can be repeated.", collectRepeated, [])
|
|
157
172
|
.action(async (options) => {
|
|
158
173
|
const item = await addMemory({
|
|
159
174
|
type: options.type,
|
|
@@ -163,7 +178,8 @@ export function registerMemoryCommands(program) {
|
|
|
163
178
|
status: options.status,
|
|
164
179
|
visibility: options.visibility,
|
|
165
180
|
exportable: Boolean(options.exportable),
|
|
166
|
-
tags: parseCommaList(options.tags)
|
|
181
|
+
tags: parseCommaList(options.tags),
|
|
182
|
+
evidence: options.evidence
|
|
167
183
|
});
|
|
168
184
|
console.log(`Added memory: ${item.id}`);
|
|
169
185
|
});
|
|
@@ -217,6 +233,7 @@ export function registerMemoryCommands(program) {
|
|
|
217
233
|
["Tags", item.tags.join(",")],
|
|
218
234
|
["Visibility", item.visibility],
|
|
219
235
|
["Exportable", item.exportable ? "yes" : "no"],
|
|
236
|
+
["Evidence", item.evidence.map(formatEvidenceRef).join(", ")],
|
|
220
237
|
["Created", item.created_at]
|
|
221
238
|
]);
|
|
222
239
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { inspectContinuityObservability } from "../core/observability.js";
|
|
2
|
+
import { normalizeExportPolicy } from "../core/exportPolicy.js";
|
|
3
|
+
import { parsePositiveInt } from "./shared.js";
|
|
4
|
+
export function registerObsCommands(program) {
|
|
5
|
+
const obs = program.command("obs").description("Inspect BriefOps continuity observability.");
|
|
6
|
+
obs
|
|
7
|
+
.command("continuity")
|
|
8
|
+
.description("Report context compression, continuity health, queues, and memory hygiene.")
|
|
9
|
+
.option("--worker <worker>", "Worker profile name.")
|
|
10
|
+
.option("--project <project>", "Project name.")
|
|
11
|
+
.requiredOption("--task <task>", "Current task.")
|
|
12
|
+
.option("--max-tokens <tokens>", "Prime context token budget.", parsePositiveInt, 800)
|
|
13
|
+
.option("--export-policy <policy>", "local-private|shared-only", "local-private")
|
|
14
|
+
.option("--json", "Print JSON output.")
|
|
15
|
+
.action(async (options) => {
|
|
16
|
+
const result = await inspectContinuityObservability({
|
|
17
|
+
worker: options.worker,
|
|
18
|
+
project: options.project,
|
|
19
|
+
task: options.task,
|
|
20
|
+
maxTokens: options.maxTokens,
|
|
21
|
+
exportPolicy: normalizeExportPolicy(options.exportPolicy)
|
|
22
|
+
});
|
|
23
|
+
if (options.json) {
|
|
24
|
+
console.log(JSON.stringify(result, null, 2));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
console.log("BriefOps Continuity Observability");
|
|
28
|
+
console.log("");
|
|
29
|
+
console.log(`Worker: ${result.worker}`);
|
|
30
|
+
console.log(`Project: ${result.project}`);
|
|
31
|
+
console.log(`Readiness: ${result.continuity.readiness}`);
|
|
32
|
+
console.log("");
|
|
33
|
+
console.log("Context:");
|
|
34
|
+
console.log(`- raw candidate total: ${result.context.raw.totalTokens} tokens`);
|
|
35
|
+
console.log(`- prime total: ${result.context.prime.tokens} tokens`);
|
|
36
|
+
console.log(`- saved: ~${result.context.savedTokens} tokens`);
|
|
37
|
+
console.log(`- compression: ${result.context.compressionPercent}%`);
|
|
38
|
+
console.log("");
|
|
39
|
+
console.log("Queues:");
|
|
40
|
+
console.log(`- pending memory proposals: ${result.queues.pendingMemoryProposals}`);
|
|
41
|
+
console.log(`- pending skill patches: ${result.queues.pendingSkillPatches}`);
|
|
42
|
+
console.log(`- open risks: ${result.queues.openRisks}`);
|
|
43
|
+
console.log("");
|
|
44
|
+
console.log("Memory hygiene:");
|
|
45
|
+
console.log(`- warnings: ${result.hygiene.warnings.length}`);
|
|
46
|
+
console.log(`- duplicate-like groups: ${result.hygiene.duplicateLike}`);
|
|
47
|
+
console.log(`- potential decision conflicts: ${result.hygiene.potentialConflicts}`);
|
|
48
|
+
console.log(`- old active items: ${result.hygiene.oldActive}`);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=obs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obs.js","sourceRoot":"","sources":["../../src/commands/obs.ts"],"names":[],"mappings":"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"}
|
package/dist/core/codex.js
CHANGED
|
@@ -26,7 +26,15 @@ function codexGuidanceSection() {
|
|
|
26
26
|
"",
|
|
27
27
|
"This repository uses BriefOps as the first context pass for Codex work.",
|
|
28
28
|
"",
|
|
29
|
-
"Start every meaningful task
|
|
29
|
+
"Start every meaningful task with the BriefOps environment gate before broad repo/history inspection:",
|
|
30
|
+
"",
|
|
31
|
+
"```bash",
|
|
32
|
+
"command -v briefops >/dev/null 2>&1",
|
|
33
|
+
"```",
|
|
34
|
+
"",
|
|
35
|
+
"If `briefops` is not on `PATH`, stop and report `Status: setup-required`. Do not continue by silently skipping BriefOps; ask the user to install `briefops`, use `npx briefops@latest`, or explicitly continue from an already supplied Brief/Spec/Plan.",
|
|
36
|
+
"",
|
|
37
|
+
"After the environment gate passes, prime the smallest useful local context:",
|
|
30
38
|
"",
|
|
31
39
|
"```bash",
|
|
32
40
|
"briefops prime --format codex --task \"<current task>\" --max-tokens 800",
|
|
@@ -87,7 +95,15 @@ export async function installCodexPack(options = {}) {
|
|
|
87
95
|
await writeTextFile(path.join(paths.codexPrompts, "prime.md"), [
|
|
88
96
|
"# BriefOps Codex Prime Prompt",
|
|
89
97
|
"",
|
|
90
|
-
"Start a Codex task with
|
|
98
|
+
"Start a Codex task with the BriefOps environment gate:",
|
|
99
|
+
"",
|
|
100
|
+
"```bash",
|
|
101
|
+
"command -v briefops >/dev/null 2>&1",
|
|
102
|
+
"```",
|
|
103
|
+
"",
|
|
104
|
+
"If `briefops` is not on `PATH`, stop and report `Status: setup-required`. Do not continue by silently skipping BriefOps.",
|
|
105
|
+
"",
|
|
106
|
+
"After the gate passes, load compact BriefOps context:",
|
|
91
107
|
"",
|
|
92
108
|
"```bash",
|
|
93
109
|
"briefops prime --format codex --task \"<task>\" --max-tokens 800",
|
package/dist/core/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/core/codex.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,YAAY,GAAG,+BAA+B,CAAC;AACrD,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAoDjD,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;QACL,YAAY;QACZ,4BAA4B;QAC5B,EAAE;QACF,yEAAyE;QACzE,EAAE;QACF,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/core/codex.ts"],"names":[],"mappings":"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"}
|