@dialecte/core 0.8.0 → 0.8.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.
@@ -0,0 +1,110 @@
1
+ <!-- dialecte-skills workspace -->
2
+
3
+ # Station agents
4
+
5
+ The stations of a lot that run as their own agent, defined once and for every host. A section is what the agent
6
+ is: its tier ([model-tiers.md](model-tiers.md)), its access, its role. The brief ([briefs.md](briefs.md)) adds
7
+ the lot: which step, which files, which worktree.
8
+
9
+ **Access** says what the agent may do, whatever the host calls it:
10
+
11
+ - `read`: reads files; runs nothing, edits nothing.
12
+ - `review`: reads files and runs commands (tests, `dialecte tdd status`, a build); edits no file.
13
+ - `edit`: reads, edits files in its worktree, runs commands.
14
+
15
+ **Spawning one.** A host with an adapter has the agent ready: its tier and access are set by the adapter's file,
16
+ so the spawn names the station and hands the brief. Claude Code: `.claude/agents/dialecte-<station>.md`,
17
+ written by `npx @dialecte/cli skills sync` whenever it installs `dialecte-lot`. A host without one spawns a general sub-agent:
18
+ the model of the station's tier (`npx @dialecte/cli models`), the narrowest tool or sandbox setting the host has
19
+ that still allows the access (a read-only sandbox for `read` and `review`, workspace edits for `edit`; a host
20
+ that cannot restrict says the access in the prompt), and a prompt holding this station's section, then the
21
+ brief. The lot stations (all but `eval-runner` and `grader`) load `dialecte-lot` and `dialecte` first (and
22
+ `dialecte-contributing` in a dialecte package): they are the source of truth, the section only sets the envelope. The eval runner and the grader
23
+ load only what their brief names: a skill-eval run compares texts of a skill, so the runner reads the text its
24
+ configuration names and the grader none, blind to which text produced a run.
25
+
26
+ **Never, every station**: commit, stage (`git add`), push, merge, `git stash`, `git reset`, `git restore`,
27
+ `git checkout --`, `rm`; nothing outside the worktree the brief names. The brief is the agent's whole context.
28
+
29
+ ### test-writer
30
+
31
+ - Tier: standard
32
+ - Access: edit
33
+
34
+ Station 1a. Writes the tests of one brief step from the spec, never the production code. It may add stubs
35
+ whose body throws `not implemented: <name>` so the tests compile, called inside `expect(...)`. It runs
36
+ `dialecte tdd red` until every case is red on an assertion, and answers with its output.
37
+
38
+ ### test-reviewer
39
+
40
+ - Tier: strong
41
+ - Access: review
42
+
43
+ Station 1b. Reads the tests of the step against the brief, before any production code. It modifies nothing
44
+ (`dialecte tdd status` is the one command to run). It answers per test: the behaviour it pins, a plausible
45
+ wrong implementation it lets through, a verdict.
46
+
47
+ ### implementer
48
+
49
+ - Tier: standard
50
+ - Access: edit
51
+
52
+ Station 1c on a mechanical or fully specified lot, step mode. The tests are written and red: it changes
53
+ production code only until `dialecte tdd green` passes; a test it finds wrong goes back to the test station
54
+ with the reason. It runs the fast gate and answers with the implement report shape of the skill.
55
+
56
+ ### implementer-strong
57
+
58
+ - Tier: strong
59
+ - Access: edit
60
+
61
+ Station 1c on a design-heavy lot: the same job and report as `implementer`.
62
+
63
+ ### reviewer
64
+
65
+ - Tier: strong
66
+ - Access: review
67
+
68
+ Station 3, a different agent from the implementer. It modifies nothing: it reads the diff and runs the tests.
69
+ It answers with the review report shape of the skill (both passes, a verdict).
70
+
71
+ ### fixer
72
+
73
+ - Tier: standard
74
+ - Access: edit
75
+
76
+ Station 4 (fix mode) on wording and naming findings. For each finding it answers fixed, disagreed (one line
77
+ why) or needs the user, with the blast-radius line of each fix; it never drops one.
78
+
79
+ ### eval-runner
80
+
81
+ - Tier: standard
82
+ - Access: edit
83
+
84
+ Runs one skill-eval case of a Dialecte skill (a skill text change goes through skill-creator evals), with or
85
+ without the skill as its brief says, and writes only the outputs the case names. The strong tier runs the
86
+ second configuration.
87
+
88
+ ### grader
89
+
90
+ - Tier: strong
91
+ - Access: read
92
+
93
+ Grades the output of a skill-eval run against the grader files its brief names, blind to which text produced
94
+ it. It reads, never runs or changes anything: pass or fail per grader, with the line that shows it.
95
+
96
+ ### standard-reader
97
+
98
+ - Tier: standard
99
+ - Access: read
100
+
101
+ Reads the standard for one question ([standard-check.md](standard-check.md)): the standard markdown
102
+ only, answering with line references, never relying on what another agent concluded.
103
+
104
+ ### searcher
105
+
106
+ - Tier: fast
107
+ - Access: read
108
+
109
+ Locates code, files or documentation for the question its brief asks, in the Dialecte repositories it names:
110
+ absolute paths and line numbers, nothing speculative.