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/docs/file-format.md
CHANGED
|
@@ -32,7 +32,8 @@ BriefOps stores all user data under `.briefops/`. Version 1.0 treats these files
|
|
|
32
32
|
|
|
33
33
|
- `.briefops/memory/<category>.yaml`
|
|
34
34
|
- Shape: `items: MemoryItem[]`.
|
|
35
|
-
- Stable item fields: `id`, `type`, `status`, `project`, `skill`, `content`, `source`, `created_at`, `tags`, `visibility`, `exportable`.
|
|
35
|
+
- Stable item fields: `id`, `type`, `status`, `project`, `skill`, `content`, `source`, `created_at`, `tags`, `visibility`, `exportable`, `evidence`.
|
|
36
|
+
- `evidence` is an optional array of path anchors with stable fields: `path`, `start_line`, `end_line`, `sha256`, `note`.
|
|
36
37
|
- Supported statuses: `active`, `stale`, `deprecated`, `superseded`, `archived`.
|
|
37
38
|
- Supported visibility values: `private`, `shared`, `public`.
|
|
38
39
|
|
|
@@ -46,6 +47,7 @@ BriefOps stores all user data under `.briefops/`. Version 1.0 treats these files
|
|
|
46
47
|
- Stable fields: `id`, `created_at`, `from_log`, `status`, `project`, `skill`, `worker`, `items`, `applied_at`, `rejected_at`.
|
|
47
48
|
- Legacy `proposals` arrays remain readable and are normalized to `items`.
|
|
48
49
|
- Proposal entries use memory item fields plus `category` and `rationale`.
|
|
50
|
+
- Proposal entries may carry `evidence` anchors copied from changed-file paths in the source work log.
|
|
49
51
|
|
|
50
52
|
- `.briefops/patches/*.patch.yaml`
|
|
51
53
|
- Stable fields: `id`, `created_at`, `skill`, `from_log`, `status`, `target_section`, `lessons`, `additions`, `applied_at`, `rejected_at`.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# BriefOps Impact Report v0
|
|
2
|
+
|
|
3
|
+
Use this template to record whether BriefOps impact is measured, estimated, or
|
|
4
|
+
unmeasured for one project task or reporting period. Keep the field names stable.
|
|
5
|
+
|
|
6
|
+
## Report Values
|
|
7
|
+
|
|
8
|
+
project:
|
|
9
|
+
task_or_period:
|
|
10
|
+
briefops_adoption_point:
|
|
11
|
+
token_usage_status: unmeasured
|
|
12
|
+
input_tokens:
|
|
13
|
+
output_tokens:
|
|
14
|
+
total_tokens:
|
|
15
|
+
context_baseline:
|
|
16
|
+
context_used:
|
|
17
|
+
context_reduction_estimate:
|
|
18
|
+
artifact_coverage:
|
|
19
|
+
handoff_status:
|
|
20
|
+
validation_status:
|
|
21
|
+
conclusion: unmeasured
|
|
22
|
+
|
|
23
|
+
## Field Definitions
|
|
24
|
+
|
|
25
|
+
`project`: Project, repository, workspace, or product area being reported.
|
|
26
|
+
|
|
27
|
+
`task_or_period`: The task, milestone, sprint, date range, or release covered by
|
|
28
|
+
this report. Use one report per task or period.
|
|
29
|
+
|
|
30
|
+
`briefops_adoption_point`: Where BriefOps entered the workflow, such as before
|
|
31
|
+
planning, before implementation, during handoff, or after validation.
|
|
32
|
+
|
|
33
|
+
`token_usage_status`: Evidence level for token usage values. Allowed values:
|
|
34
|
+
`measured`, `estimated`, `unmeasured`.
|
|
35
|
+
|
|
36
|
+
`input_tokens`: Input token count for the covered task or period. Leave blank or
|
|
37
|
+
write `unmeasured` when no credible value exists.
|
|
38
|
+
|
|
39
|
+
`output_tokens`: Output token count for the covered task or period. Leave blank
|
|
40
|
+
or write `unmeasured` when no credible value exists.
|
|
41
|
+
|
|
42
|
+
`total_tokens`: Input plus output tokens for the covered task or period. Leave
|
|
43
|
+
blank or write `unmeasured` when no credible value exists.
|
|
44
|
+
|
|
45
|
+
`context_baseline`: The size of the context that would otherwise have been used,
|
|
46
|
+
limited to the whole repo, whole document set, full history dump, or other
|
|
47
|
+
bounded source context. Include the unit used.
|
|
48
|
+
|
|
49
|
+
`context_used`: The size of the actual BriefOps brief, spec, context pack, or
|
|
50
|
+
other bounded context supplied to the agent. Use the same unit as
|
|
51
|
+
`context_baseline`.
|
|
52
|
+
|
|
53
|
+
`context_reduction_estimate`: Estimated context reduction, calculated only from
|
|
54
|
+
`context_baseline` and `context_used`.
|
|
55
|
+
|
|
56
|
+
`artifact_coverage`: Existence-only coverage for these eight artifacts:
|
|
57
|
+
`brief`, `spec`, `plan`, `tasks`, `validation`, `review`, `handoff`,
|
|
58
|
+
`decision-log`. Record as `<present_count>/8` plus present and missing names.
|
|
59
|
+
|
|
60
|
+
`handoff_status`: Handoff readiness for the covered task or period. Suggested
|
|
61
|
+
values: `complete`, `partial`, `absent`, `not_applicable`.
|
|
62
|
+
|
|
63
|
+
`validation_status`: Validation evidence for the covered task or period.
|
|
64
|
+
Suggested values: `validated`, `partial`, `unvalidated`, `blocked`,
|
|
65
|
+
`not_applicable`.
|
|
66
|
+
|
|
67
|
+
`conclusion`: Overall evidence conclusion. Allowed values only: `proven`,
|
|
68
|
+
`partially supported`, `unmeasured`, `not supported`.
|
|
69
|
+
|
|
70
|
+
## Measurement Rules
|
|
71
|
+
|
|
72
|
+
### Token Usage And Token Savings
|
|
73
|
+
|
|
74
|
+
- Mark `token_usage_status` as `measured` only when actual token usage logs exist
|
|
75
|
+
for the covered task or period.
|
|
76
|
+
- Mark `token_usage_status` as `estimated` only when token counts are derived
|
|
77
|
+
from a deterministic approximation, such as a tokenizer or transcript count.
|
|
78
|
+
- Mark `token_usage_status` as `unmeasured` when neither actual logs nor a
|
|
79
|
+
deterministic approximation are available.
|
|
80
|
+
- If actual token usage logs do not exist, token savings must be reported as
|
|
81
|
+
`unmeasured`.
|
|
82
|
+
- Do not use `context_reduction_estimate` as evidence of token savings.
|
|
83
|
+
- Do not combine input, output, and total tokens from different tasks, agents, or
|
|
84
|
+
reporting periods.
|
|
85
|
+
|
|
86
|
+
### Context Management
|
|
87
|
+
|
|
88
|
+
- Treat context management as separate from token savings.
|
|
89
|
+
- Estimate context reduction only by comparing `context_baseline` with
|
|
90
|
+
`context_used`.
|
|
91
|
+
- Use the same unit for `context_baseline` and `context_used`, preferably tokens.
|
|
92
|
+
Bytes, lines, files, or pages are acceptable only when both values use the same
|
|
93
|
+
unit.
|
|
94
|
+
- Calculate:
|
|
95
|
+
`(context_baseline - context_used) / context_baseline`.
|
|
96
|
+
- Mark `context_reduction_estimate` as `unmeasured` when either side of the
|
|
97
|
+
comparison is unavailable or uses incompatible units.
|
|
98
|
+
- A context reduction estimate supports a context management claim only. It does
|
|
99
|
+
not prove token savings or quality improvement.
|
|
100
|
+
|
|
101
|
+
### Artifact Coverage
|
|
102
|
+
|
|
103
|
+
- Calculate `artifact_coverage` only from whether each named artifact exists.
|
|
104
|
+
- Do not score artifact quality, length, freshness, or correctness in
|
|
105
|
+
`artifact_coverage`.
|
|
106
|
+
- Count an artifact as present only when it is discoverable in the project files
|
|
107
|
+
or attached work record for the covered task or period.
|
|
108
|
+
- If an artifact has multiple files, count the artifact type once.
|
|
109
|
+
|
|
110
|
+
### Conclusion
|
|
111
|
+
|
|
112
|
+
- Use `proven` only when the claimed impact is backed by direct measured
|
|
113
|
+
evidence. Token savings can be `proven` only with actual token usage logs.
|
|
114
|
+
- Use `partially supported` when measured evidence is incomplete, but deterministic
|
|
115
|
+
context comparison, artifact coverage, handoff status, or validation status
|
|
116
|
+
supports a narrower BriefOps benefit.
|
|
117
|
+
- Use `unmeasured` when the report records adoption but lacks enough evidence to
|
|
118
|
+
support or reject impact.
|
|
119
|
+
- Use `not supported` when the available evidence contradicts the claimed impact
|
|
120
|
+
or shows no meaningful BriefOps effect.
|
|
121
|
+
- If token savings are unmeasured but context management is estimated, the
|
|
122
|
+
conclusion must not imply proven token savings.
|
|
123
|
+
|
|
124
|
+
## 30-Minute Fill Procedure
|
|
125
|
+
|
|
126
|
+
1. Identify the project and covered task or period.
|
|
127
|
+
2. Check whether actual token usage logs exist.
|
|
128
|
+
3. Fill token fields as measured, estimated, or unmeasured.
|
|
129
|
+
4. Compare only the bounded baseline context with the actual BriefOps context
|
|
130
|
+
used.
|
|
131
|
+
5. Count the eight artifact types by existence only.
|
|
132
|
+
6. Record handoff and validation status from available work records.
|
|
133
|
+
7. Choose exactly one allowed conclusion without merging token savings and
|
|
134
|
+
context management evidence.
|
|
135
|
+
|
|
136
|
+
## Non-Goals
|
|
137
|
+
|
|
138
|
+
This template does not define automatic collection, JSON schema, dashboards,
|
|
139
|
+
cross-project comparison, migration guidance, sample reports, scoring, or a full
|
|
140
|
+
Spec Kit workflow.
|
|
@@ -44,6 +44,15 @@ briefops export all
|
|
|
44
44
|
|
|
45
45
|
These files should stay compact. They teach harnesses how to call BriefOps and do not copy private memory, raw logs, handoffs, or worker summaries.
|
|
46
46
|
|
|
47
|
+
For local readiness and context compression checks:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
briefops doctor --strict --json
|
|
51
|
+
briefops obs continuity --worker <worker> --task "<task>" --json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
These commands are core CLI checks. They do not install MCP servers or hooks.
|
|
55
|
+
|
|
47
56
|
## LazyCodex / OmO
|
|
48
57
|
|
|
49
58
|
Use LazyCodex or OmO for orchestration, hooks, LSP/MCP, and autonomous execution. Use BriefOps for durable local continuity.
|