@orkestrel/brief 0.0.6 → 0.0.8

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/README.md CHANGED
@@ -1,32 +1,44 @@
1
1
  # @orkestrel/brief
2
2
 
3
- A synchronous, deterministic specification compiler. A rough request compiles into a
4
- `Brief` — a closed, JSON-serializable execution contract another agent can run with no
5
- interpretation left to do — and every downstream artifact (the prompt a model reads, a
6
- completion condition, a subagent dispatch) is projected from that one source of truth.
3
+ > The specification compiler: a synchronous, deterministic pipeline that resolves a rough
4
+ > request into a `Brief` — a closed, content-hashed execution contract another agent can run
5
+ > with no interpretation left to do — gated by a traceable reasoner and projected into every
6
+ > downstream artifact.
7
7
 
8
- A brief with blocking gaps never emits. The readiness gate is a `@orkestrel/reason`
9
- `LogicalDefinition`, so every verdict carries a traceable account of which check missed.
8
+ Compile a request with the `createBriefCompiler` factory, read the `Briefing` it returns, and
9
+ project the brief it carries into the prompt a model reads, a completion condition, or a
10
+ subagent dispatch. A brief with blocking gaps never emits: the readiness gate is a
11
+ `@orkestrel/reason` `LogicalDefinition`, so every verdict carries a traceable account of which
12
+ check missed. Part of the `@orkestrel` line.
13
+
14
+ ## Install
10
15
 
11
16
  ```sh
12
17
  npm install @orkestrel/brief
13
18
  ```
14
19
 
20
+ ## Requirements
21
+
22
+ - Node.js >= 22.12.0, matching the `engines` field in `package.json`
23
+ - ESM and CommonJS entry points, selected by the `exports` field in `package.json`
24
+
25
+ ## Usage
26
+
15
27
  ```ts
16
28
  import {
17
29
  createBriefCompiler,
18
30
  briefToGoal,
19
31
  briefToMarkdown,
20
- outcome,
21
- proof,
22
- task,
32
+ buildOutcome,
33
+ buildProof,
34
+ buildTask,
23
35
  } from '@orkestrel/brief'
24
36
 
25
37
  const compiler = createBriefCompiler()
26
38
  const briefing = compiler.compile({
27
- task: task('refactor', 'code', 'Refactor useForm to native browser form APIs.'),
28
- outcomes: [outcome(1, 'useForm uses native FormData with no behavior change')],
29
- proofs: [proof('type-check and lint pass', 'npm run check')],
39
+ task: buildTask('refactor', 'code', 'Refactor useForm to native browser form APIs.'),
40
+ outcomes: [buildOutcome(1, 'useForm uses native FormData with no behavior change')],
41
+ proofs: [buildProof('type-check and lint pass', 'npm run check')],
30
42
  })
31
43
 
32
44
  if (briefing.brief !== undefined) {
@@ -36,6 +48,8 @@ if (briefing.brief !== undefined) {
36
48
  compiler.destroy()
37
49
  ```
38
50
 
51
+ ## Guide
52
+
39
53
  Full documentation: [`guides/brief.md`](guides/brief.md). The guides index lives at
40
54
  [`guides/README.md`](guides/README.md).
41
55