briefops 2.0.0 → 2.1.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/CHANGELOG.md +16 -0
- package/README.md +40 -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/codexPlugin.js +40 -0
- package/dist/core/codexPlugin.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 +17 -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 +2 -0
- package/plugins/briefops-codex/skills/briefops-route-task/SKILL.md +33 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
- No changes yet.
|
|
6
6
|
|
|
7
|
+
## 2.1.1 - 2026-06-28
|
|
8
|
+
|
|
9
|
+
- Refresh the development dependency baseline for Node.js type definitions and Vitest lockfile resolution.
|
|
10
|
+
- Prepare the npm package version for the next patch publication after the GitHub-only `v2.1.0` tag.
|
|
11
|
+
- Clarify npm install, release readiness, and 2.1.x public documentation.
|
|
12
|
+
|
|
13
|
+
## 2.1.0 - 2026-06-22
|
|
14
|
+
|
|
15
|
+
- Add `briefops harness route` and `briefops harness matrix` as a Codex-first Master Harness routing MVP.
|
|
16
|
+
- Add a Codex `briefops-route-task` skill for workflow-depth classification before implementation.
|
|
17
|
+
- Add `briefops obs continuity` for compression, continuity, queue, and memory hygiene observability without dumping private memory.
|
|
18
|
+
- Add `briefops doctor --strict --json` as a local release-readiness gate across stability, security, privacy, and memory hygiene.
|
|
19
|
+
- Add optional evidence anchors to memory items and memory proposals.
|
|
20
|
+
- Harden lock stale detection so fresh in-progress lock files are not removed during concurrent writes.
|
|
21
|
+
- Update release readiness docs and patch the esbuild lockfile to clear npm audit findings.
|
|
22
|
+
|
|
7
23
|
## 2.0.0 - 2026-06-14
|
|
8
24
|
|
|
9
25
|
- 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.1 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, and workspace-lock hardening that were prepared after 2.0.
|
|
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
|
|
@@ -252,6 +261,22 @@ Exports are routers, not memory dumps. They tell local AI tools to run `briefops
|
|
|
252
261
|
|
|
253
262
|
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
263
|
|
|
264
|
+
## Master Harness Routing
|
|
265
|
+
|
|
266
|
+
Use the Master Harness router when Codex should decide the smallest sufficient workflow before implementation:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
briefops harness route --task "Fix the failing dashboard layout test."
|
|
270
|
+
briefops harness route --task "Build the release readiness flow." --type large-feature
|
|
271
|
+
briefops harness matrix
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
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.
|
|
275
|
+
|
|
276
|
+
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.
|
|
277
|
+
|
|
278
|
+
See `docs/master-harness.md` for the Codex-compatible BriefOps Master Harness architecture and MVP plan.
|
|
279
|
+
|
|
255
280
|
## Context Minimalism
|
|
256
281
|
|
|
257
282
|
Inspect the built-in budget policy:
|
|
@@ -268,6 +293,14 @@ briefops compare context --worker quant-reviewer --task "Review this PR."
|
|
|
268
293
|
|
|
269
294
|
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
295
|
|
|
296
|
+
Inspect the live continuity signal for a worker:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
briefops obs continuity --worker quant-reviewer --task "Review this PR." --json
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
This reports raw candidate context, compiled prime size, compression, continuity health, local queues, and memory hygiene signals without dumping private memory content.
|
|
303
|
+
|
|
271
304
|
## Memory Hygiene
|
|
272
305
|
|
|
273
306
|
Not every task deserves durable memory. Use durable memory for decisions, lessons, incidents, open risks, and reusable constraints:
|
|
@@ -289,6 +322,7 @@ Run this before publishing a repository, sharing a pack, or attaching BriefOps c
|
|
|
289
322
|
briefops doctor --privacy
|
|
290
323
|
briefops doctor --privacy --fix-gitignore
|
|
291
324
|
briefops doctor --stability
|
|
325
|
+
briefops doctor --strict --json
|
|
292
326
|
```
|
|
293
327
|
|
|
294
328
|
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 +331,8 @@ BriefOps is local-first, but `.briefops/` may contain private logs and memory. K
|
|
|
297
331
|
|
|
298
332
|
`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
333
|
|
|
334
|
+
`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.
|
|
335
|
+
|
|
300
336
|
## Pre-Publish Readiness
|
|
301
337
|
|
|
302
338
|
Before `npm publish`, run the local release checks and review the package contents:
|
|
@@ -304,7 +340,9 @@ Before `npm publish`, run the local release checks and review the package conten
|
|
|
304
340
|
```bash
|
|
305
341
|
npm run build
|
|
306
342
|
npm test
|
|
343
|
+
npm audit --audit-level=moderate
|
|
307
344
|
npm pack --dry-run
|
|
345
|
+
npm run verify:release
|
|
308
346
|
```
|
|
309
347
|
|
|
310
348
|
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 +352,7 @@ Confirm:
|
|
|
314
352
|
- generated harness files are routers, not `.briefops` memory dumps
|
|
315
353
|
- `briefops --version` matches `package.json`
|
|
316
354
|
- `.briefops/` is ignored or intentionally curated
|
|
355
|
+
- `npm view briefops versions --json` does not already include the target version
|
|
317
356
|
- `SECURITY.md`, `CHANGELOG.md`, and the release checklist reflect the shipped behavior
|
|
318
357
|
- `npm pack --dry-run` includes `dist`, docs, examples, plugins, README, LICENSE, SECURITY, CONTRIBUTING, CODE_OF_CONDUCT, and CHANGELOG
|
|
319
358
|
|
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":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,yEAAyE,CAAC;SAChG,MAAM,CAAC,WAAW,EAAE,4DAA4D,CAAC;SACjF,MAAM,CAAC,YAAY,EAAE,kDAAkD,CAAC;SACxE,MAAM,CAAC,mBAAmB,EAAE,yEAAyE,CAAC;SACtG,MAAM,CAAC,WAAW,EAAE,uDAAuD,CAAC;SAC5E,MAAM,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;SACnF,MAAM,CAAC,UAAU,EAAE,4FAA4F,CAAC;SAChH,MAAM,CAAC,QAAQ,EAAE,iCAAiC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;QACjD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CACT,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,UAAU,MAAM,CAAC,OAAO,CAAC,IAAI,QAAQ,CACvH,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,UAAU,CAAC;oBACT,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACvC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;iBACxF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,oBAAoB,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACxC,UAAU,CAAC;gBACT,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC7B,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC,CAAC,CAAC;YACH,UAAU,CAAC;gBACT,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC7B,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;oBACzC,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;oBAC/B,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;YACzC,UAAU,CAAC;gBACT,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC7B,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG;YACb,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;YACzB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpC,UAAU,QAAQ,EAAE;gBACpB,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,OAAO;aACnC,CAAC;YACF,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC;YACrC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC;YACnC,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;SAC/B,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK;YACL,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC/C,QAAQ;SACT,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAE3D,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -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":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAE7F,GAAG;SACA,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;SAC9C,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC;SAChD,MAAM,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,GAAG,CAAC;SACrF,MAAM,CAAC,0BAA0B,EAAE,2BAA2B,EAAE,eAAe,CAAC;SAChF,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC;YAClD,MAAM,EAAE,OAAO,CAAC,MAA4B;YAC5C,OAAO,EAAE,OAAO,CAAC,OAA6B;YAC9C,IAAI,EAAE,OAAO,CAAC,IAAc;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAmB;YACtC,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,YAAkC,CAAC;SAChF,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,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,WAAW,SAAS,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/core/codexPlugin.js
CHANGED
|
@@ -26,6 +26,7 @@ export function buildCodexPluginManifest() {
|
|
|
26
26
|
category: "Developer Tools",
|
|
27
27
|
capabilities: ["Read", "Write"],
|
|
28
28
|
defaultPrompt: [
|
|
29
|
+
"Route this task through the BriefOps Master Harness.",
|
|
29
30
|
"Start this task with the smallest useful BriefOps context.",
|
|
30
31
|
"Finish this task and prepare memory for the next thread."
|
|
31
32
|
],
|
|
@@ -46,6 +47,41 @@ function trustBoundaryLines() {
|
|
|
46
47
|
""
|
|
47
48
|
];
|
|
48
49
|
}
|
|
50
|
+
function briefopsRouteTaskSkill() {
|
|
51
|
+
return [
|
|
52
|
+
"---",
|
|
53
|
+
"name: briefops-route-task",
|
|
54
|
+
"description: Use when starting Codex development work to classify the task and choose the smallest sufficient BriefOps Master Harness workflow",
|
|
55
|
+
"---",
|
|
56
|
+
"",
|
|
57
|
+
"# BriefOps Route Task",
|
|
58
|
+
"",
|
|
59
|
+
...trustBoundaryLines(),
|
|
60
|
+
"Use this before implementation when the task may need memory, specification, planning, findings, verification, or handoff discipline.",
|
|
61
|
+
"",
|
|
62
|
+
"Run:",
|
|
63
|
+
"",
|
|
64
|
+
"```bash",
|
|
65
|
+
"briefops harness route --task \"<current user task>\"",
|
|
66
|
+
"```",
|
|
67
|
+
"",
|
|
68
|
+
"For explicit routing, pass a task type:",
|
|
69
|
+
"",
|
|
70
|
+
"```bash",
|
|
71
|
+
"briefops harness route --task \"<current user task>\" --type large-feature",
|
|
72
|
+
"```",
|
|
73
|
+
"",
|
|
74
|
+
"Use the route as a workflow contract:",
|
|
75
|
+
"",
|
|
76
|
+
"- Do not force full specification on tiny tasks.",
|
|
77
|
+
"- Do not skip goal ledgers, findings, visual evidence, or handoff when the route requires them.",
|
|
78
|
+
"- If repository evidence contradicts the inferred route, choose the safer route and say why.",
|
|
79
|
+
"- Treat `briefops prime` as the memory intake step and `briefops finish` as the work-log/memory closeout step.",
|
|
80
|
+
"",
|
|
81
|
+
"Supported task types: small-bug-fix, medium-feature, large-feature, refactor, dependency-upgrade, ui-change, test-repair, production-incident, documentation-task, architecture-decision, exploratory-research, code-review, release-preparation.",
|
|
82
|
+
""
|
|
83
|
+
].join("\n");
|
|
84
|
+
}
|
|
49
85
|
function briefopsPrimeContextSkill() {
|
|
50
86
|
return [
|
|
51
87
|
"---",
|
|
@@ -156,6 +192,10 @@ export function codexPluginFiles() {
|
|
|
156
192
|
relativePath: ".codex-plugin/plugin.json",
|
|
157
193
|
content: pluginManifestContent()
|
|
158
194
|
},
|
|
195
|
+
{
|
|
196
|
+
relativePath: "skills/briefops-route-task/SKILL.md",
|
|
197
|
+
content: briefopsRouteTaskSkill()
|
|
198
|
+
},
|
|
159
199
|
{
|
|
160
200
|
relativePath: "skills/briefops-prime-context/SKILL.md",
|
|
161
201
|
content: briefopsPrimeContextSkill()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexPlugin.js","sourceRoot":"","sources":["../../src/core/codexPlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codexPlugin.js","sourceRoot":"","sources":["../../src/core/codexPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type HarnessTaskType = "small-bug-fix" | "medium-feature" | "large-feature" | "refactor" | "dependency-upgrade" | "ui-change" | "test-repair" | "production-incident" | "documentation-task" | "architecture-decision" | "exploratory-research" | "code-review" | "release-preparation";
|
|
2
|
+
export type HarnessRoute = {
|
|
3
|
+
taskType: HarnessTaskType;
|
|
4
|
+
label: string;
|
|
5
|
+
spec: string;
|
|
6
|
+
plan: string;
|
|
7
|
+
goalLedger: string;
|
|
8
|
+
findings: string;
|
|
9
|
+
verification: string;
|
|
10
|
+
memoryUpdate: string;
|
|
11
|
+
artifacts: string[];
|
|
12
|
+
exitCriteria: string[];
|
|
13
|
+
finalResponse: string[];
|
|
14
|
+
};
|
|
15
|
+
export type HarnessRouteResult = {
|
|
16
|
+
task: string;
|
|
17
|
+
route: HarnessRoute;
|
|
18
|
+
inferred: boolean;
|
|
19
|
+
signals: string[];
|
|
20
|
+
};
|
|
21
|
+
export declare function harnessRoutes(): HarnessRoute[];
|
|
22
|
+
export declare function normalizeHarnessTaskType(value: string): HarnessTaskType;
|
|
23
|
+
export declare function routeHarnessTask(options: {
|
|
24
|
+
task: string;
|
|
25
|
+
taskType?: string;
|
|
26
|
+
}): HarnessRouteResult;
|
|
27
|
+
export declare function renderHarnessRoute(result: HarnessRouteResult): string;
|