@ssheleg/agent-sync 1.8.2 → 1.8.3

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 CHANGED
@@ -1,3 +1,15 @@
1
+ ## v1.8.3
2
+
3
+ ### Changed
4
+
5
+ - **The body is back inside the token budget** — ~5124 → ~4996 of 5000. Two sections
6
+ were restating references that already carry the depth: *Two documentation sources*
7
+ duplicated three sections of `two-sources.md`, and the stage list duplicated
8
+ `pipeline-binding.md`. The body keeps the principle and the trap — `reconcile` is
9
+ mechanical and refuses to judge whether the built thing matches the document, so
10
+ reading its green as agreement is how a divergence survives both ends — and the depth
11
+ stays where it already was.
12
+
1
13
  ## v1.8.2
2
14
 
3
15
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssheleg/agent-sync",
3
- "version": "1.8.2",
3
+ "version": "1.8.3",
4
4
  "description": "Let concurrent coding agents share one project without colliding \u2014 leases with TTL, race-free id reservation, a run journal and a generated board, over a pluggable knowledge cloud.",
5
5
  "bin": {
6
6
  "agent-sync": "bin/agent-sync.js"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-sync",
3
3
  "displayName": "Agent Sync",
4
- "version": "1.8.2",
4
+ "version": "1.8.3",
5
5
  "description": "Coordination layer for multi-agent repositories \u2014 leases with TTL, race-free ID reservation, a run journal, a cross-repo signal feed and a generated board, over a pluggable knowledge cloud.",
6
6
  "author": {
7
7
  "name": "ssheleg",
@@ -4,7 +4,7 @@ description: "Use when several coding agents work one repository at the same tim
4
4
  compatibility: "Requires the task-pipeline skill for its stages (npx sshlg-skills install). Needs python3 3.9+ (stdlib only, HTTP included - nothing to pip install) and bash for the hooks. The knowledge backend is configured per project; with none configured it degrades to git-file leases. Enforcement hooks are Claude Code only - on other agents the same checks run as a self-check."
5
5
  license: MIT
6
6
  metadata:
7
- version: "1.8.2"
7
+ version: "1.8.3"
8
8
  author: ssheleg
9
9
  ---
10
10
 
@@ -87,8 +87,8 @@ nothing.
87
87
  ## Existing project: start with `adopt`
88
88
 
89
89
  Run `adopt` before `init`. It reads the repository and prints what it found — id
90
- registers, registry files, gates — plus the decisions it **refuses to make for you**,
91
- then proposes a config. It writes nothing.
90
+ registers, registry files, gates — plus the decisions it **refuses to make for you** —
91
+ then proposes a config.
92
92
 
93
93
  ```bash
94
94
  python3 "$SKILL_DIR/scripts/agent_sync.py" adopt
@@ -275,45 +275,38 @@ overwritten. Lifetimes: `references/two-sources.md`.
275
275
 
276
276
  ## Two documentation sources, and the duty to reconcile them
277
277
 
278
- Git docs answer **how it should be** written before the code, often without it.
279
- The as-built record answers **how it actually is** derived from what agents really
280
- wrote. Neither is a copy of the other, and neither outranks the other, because they
281
- answer different questions. **The gap between them is the finding**, not a defect.
278
+ Git docs answer **how it should be**; the as-built record answers **how it actually
279
+ is**. Neither outranks the other, because they answer different questions and
280
+ **the gap between them is the finding**, not a defect.
282
281
 
283
- The duty runs at both ends of every task:
282
+ The duty runs at both ends of a task: `reconcile` and resolve every divergence before
283
+ starting, then `record` and `reconcile` again after finishing. Building on an
284
+ unresolved divergence is writing code against a system that does not exist.
284
285
 
285
- - **Before starting** (docs-study stage) `reconcile`, then read both sides for the area
286
- you are about to touch, and resolve each divergence: the git doc is stale, the as-built
287
- record is wrong, or they genuinely disagree and that is a decision. Building on an
288
- unresolved divergence is writing code against a system that does not exist.
289
- - **After finishing** (docs stage) — `record` what you built, update the git documents
290
- that state intent, then `reconcile` again. A task that updated one side leaves the next
291
- agent a divergence to find the hard way.
292
-
293
- `reconcile` is mechanical and says so: it compares ids, commits and presence, and refuses
294
- to judge whether the built thing matches the document. That reading is yours.
286
+ **The trap: `reconcile` is mechanical and refuses to judge** whether the built thing
287
+ matches the document it compares ids, commits and presence. That reading is yours,
288
+ and treating its green as agreement is how a divergence survives both ends.
295
289
 
296
290
  Every project also carries a **generated snapshot** of its own wiring (`setup`) — commit
297
291
  it and link it from the agent instructions, so agents read the pipeline instead of
298
292
  inferring it.
299
293
 
300
294
  **Read `references/two-sources.md`** before the first reconcile, and whenever deciding
301
- which side a document belongs on.
295
+ which side a document belongs on: it carries what each side is for, what `reconcile`
296
+ decides, why the check is a ratchet, where a document belongs, and why nothing is
297
+ deleted.
302
298
 
303
299
  ## Binding to task-pipeline
304
300
 
305
- This skill supplies stages; it does not define them. Stage names are
306
- `task-pipeline`'s own.
301
+ This skill supplies stages; the names are `task-pipeline`'s own.
307
302
 
308
- Five of the eleven stages carry a rule the others do not, and each is about ordering:
309
- **0** `acquire` before the brief is committed; **1** `reconcile` and resolve every
310
- divergence before writing code; **3** `reserve` every id before it reaches git; **9**
311
- `record`, `signal`, `reconcile`, `board` — the main write point. **10** ends the run:
312
- `merge` if the work is on a branch, otherwise `release` every lease by hand. Full table
313
- with the reasoning per stage: `references/pipeline-binding.md`.
303
+ Five of the eleven stages carry an ordering rule: **0** `acquire` before the brief is
304
+ committed; **1** `reconcile` before writing code; **3** `reserve` every id before it
305
+ reaches git; **9** the main write point; **10** `merge` or `release` every lease.
314
306
 
315
- **Read `references/pipeline-binding.md` when wiring `pipeline.json`** — it holds the
316
- `skills[]` entries and the gate expressions.
307
+ **Read `references/pipeline-binding.md`** when wiring `pipeline.json` — it holds the
308
+ per-stage reasoning, the `skills[]` entries, what must be guarded, and the gate
309
+ expressions.
317
310
 
318
311
  ## Configuration
319
312
 
@@ -33,7 +33,7 @@ from datetime import datetime, timezone
33
33
  from pathlib import Path
34
34
  from typing import Any
35
35
 
36
- VERSION = "1.8.2"
36
+ VERSION = "1.8.3"
37
37
 
38
38
  CONFIG_PATH = Path(".claude/agent-sync.json")
39
39
  ENV_FILE = Path(".env.agent-sync")