@ssheleg/agent-sync 1.8.0 → 1.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## v1.8.1
2
+
3
+ ### Changed
4
+
5
+ - **Six references over 100 lines now open with a `## Contents` list.** The
6
+ canon asks for it because a partial read is what an agent actually does with
7
+ a long reference; without the list, a partial read returns an arbitrary
8
+ slice. Generated from each file's own `##` headings, so the list cannot
9
+ disagree with the document.
10
+
1
11
  ## v1.8.0
2
12
 
3
13
  **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.1",
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.1",
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.1"
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.**
@@ -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.1"
37
37
 
38
38
  CONFIG_PATH = Path(".claude/agent-sync.json")
39
39
  ENV_FILE = Path(".env.agent-sync")