@ssheleg/agent-sync 1.8.0 → 1.8.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 CHANGED
@@ -1,3 +1,22 @@
1
+ ## v1.8.2
2
+
3
+ ### Changed
4
+
5
+ - `references/hooks.md` crossed 100 lines and gains the `## Contents` list the canon
6
+ requires past that mark — generated from its own six headings. v1.8.1 did this for the
7
+ six references that were over the line then; this one grew past it afterwards, which
8
+ is the shape of the defect: the rule fires on a length that keeps changing.
9
+
10
+ ## v1.8.1
11
+
12
+ ### Changed
13
+
14
+ - **Six references over 100 lines now open with a `## Contents` list.** The
15
+ canon asks for it because a partial read is what an agent actually does with
16
+ a long reference; without the list, a partial read returns an arbitrary
17
+ slice. Generated from each file's own `##` headings, so the list cannot
18
+ disagree with the document.
19
+
1
20
  ## v1.8.0
2
21
 
3
22
  **The board, cleared.** Nine rows opened by the two audits of 2026-08-10, closed with a check, a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssheleg/agent-sync",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
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.0",
4
+ "version": "1.8.2",
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.0"
7
+ version: "1.8.2"
8
8
  author: ssheleg
9
9
  ---
10
10
 
@@ -2,6 +2,17 @@
2
2
 
3
3
  **Read this when** making any Outline API call or debugging one.
4
4
 
5
+ ## Contents
6
+
7
+ - [Shape of the API](#shape-of-the-api)
8
+ - [Capabilities](#capabilities)
9
+ - [Primitive mapping](#primitive-mapping)
10
+ - [Calling it without leaking the token](#calling-it-without-leaking-the-token)
11
+ - [Rate limits](#rate-limits)
12
+ - [Getting a token](#getting-a-token)
13
+ - [Verifying an instance](#verifying-an-instance)
14
+
15
+
5
16
  [Outline](https://www.getoutline.com) is a collaborative knowledge base, available
6
17
  hosted or self-hosted. Both work; the instance URL is configuration, never code.
7
18
 
@@ -3,6 +3,15 @@
3
3
  **Read this when** starting work that will produce commits, merging a branch, or deciding
4
4
  where a claim should be written.
5
5
 
6
+ ## Contents
7
+
8
+ - [The rule](#the-rule)
9
+ - [Where a claim lives](#where-a-claim-lives)
10
+ - [Landing the work](#landing-the-work)
11
+ - [The merge log](#the-merge-log)
12
+ - [What this does not do](#what-this-does-not-do)
13
+
14
+
6
15
  ## The rule
7
16
 
8
17
  > **Work happens on a branch. The integration branch is somebody else's stable base.**
@@ -2,6 +2,15 @@
2
2
 
3
3
  **Read this when** installing, debugging or removing the enforcement hooks.
4
4
 
5
+ ## Contents
6
+
7
+ - The limit, first
8
+ - Contract
9
+ - Installed hooks
10
+ - Performance
11
+ - Debugging
12
+ - Removing them
13
+
5
14
  ## The limit, first
6
15
 
7
16
  **Hooks exist only in Claude Code.** On Cursor, Codex and the other agents the
@@ -3,6 +3,16 @@
3
3
  **Read this when** changing acquisition, expiry, stealing, or id allocation — or
4
4
  when two agents disagree about who holds something.
5
5
 
6
+ ## Contents
7
+
8
+ - [Line grammar](#line-grammar)
9
+ - [Acquiring — the third design, and the first that is true](#acquiring--the-third-design-and-the-first-that-is-true)
10
+ - [Expiry and stealing](#expiry-and-stealing)
11
+ - [Releasing](#releasing)
12
+ - [Id reservation](#id-reservation)
13
+ - [The lease is not the claim](#the-lease-is-not-the-claim)
14
+
15
+
6
16
  Two different mechanisms, and confusing them is how this went wrong twice:
7
17
 
8
18
  > **A lease is decided by an atomic operation** — `O_EXCL` on one filesystem, or a pushed
@@ -2,6 +2,16 @@
2
2
 
3
3
  **Read this when** wiring `pipeline.json`, or adding a stage hook.
4
4
 
5
+ ## Contents
6
+
7
+ - [The numbers, once](#the-numbers-once)
8
+ - [Where it plugs in](#where-it-plugs-in)
9
+ - [pipeline.json](#pipelinejson)
10
+ - [What must be guarded](#what-must-be-guarded)
11
+ - [Preflight](#preflight)
12
+ - [Gate expressions](#gate-expressions)
13
+
14
+
5
15
  `agent-sync` supplies stages; it does not define them. The stage names below are
6
16
  `task-pipeline`'s own — do not rename, renumber or fork them.
7
17
 
@@ -3,6 +3,16 @@
3
3
  **Read this when** configuring `claimTags`, taking or releasing a task, closing one, or
4
4
  re-planning work that is already on a board.
5
5
 
6
+ ## Contents
7
+
8
+ - [The two records, and why both exist](#the-two-records-and-why-both-exist)
9
+ - [How the write is made safe](#how-the-write-is-made-safe)
10
+ - [Configuring it](#configuring-it)
11
+ - [Closing a task](#closing-a-task)
12
+ - [Re-planning](#re-planning)
13
+ - [When the claim cannot be written](#when-the-claim-cannot-be-written)
14
+
15
+
6
16
  The roadmap is where a project says *what is being done and by whom*. With several
7
17
  agents it is also the file most likely to be written by two of them at once, which is why
8
18
  it is guarded — and why the tool touches it as narrowly as it possibly can.
@@ -3,6 +3,16 @@
3
3
  **Read this when** starting a task, finishing one, or deciding where a piece of
4
4
  documentation belongs.
5
5
 
6
+ ## Contents
7
+
8
+ - [They answer different questions](#they-answer-different-questions)
9
+ - [The duty, both ends of a task](#the-duty-both-ends-of-a-task)
10
+ - [What `reconcile` decides, and what it refuses to](#what-reconcile-decides-and-what-it-refuses-to)
11
+ - [The baseline — why the check is a ratchet](#the-baseline--why-the-check-is-a-ratchet)
12
+ - [Where a piece of documentation belongs](#where-a-piece-of-documentation-belongs)
13
+ - [Lifetime, and why nothing is deleted](#lifetime-and-why-nothing-is-deleted)
14
+
15
+
6
16
  ## They answer different questions
7
17
 
8
18
  | Source | Answers | Written | Authority over |
@@ -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.0"
36
+ VERSION = "1.8.2"
37
37
 
38
38
  CONFIG_PATH = Path(".claude/agent-sync.json")
39
39
  ENV_FILE = Path(".env.agent-sync")