Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
262 commits
Select commit Hold shift + click to select a range
a24da64
GO-7383 API v2: idempotency hash covers the query string; §8.1 Phase-…
requilence Jul 23, 2026
69170a3
GO-7383 API v2 Phase 2: guard the featured list on all-featured type …
requilence Jul 23, 2026
a11d238
GO-7383 Merge go-7383-anyblockjson into the API v2 branch
requilence Jul 30, 2026
8b74887
GO-7383 anyblockjson: export LeafBlockType and TextBlockType
requilence Jul 30, 2026
b5ee7c2
GO-7383 API v2 Phase 3: the ObjectMutator port and adapter
requilence Jul 30, 2026
49fea7d
GO-7383 API v2 Phase 3: the edit surface (PATCH ops + PUT replace)
requilence Jul 30, 2026
627f4e6
GO-7383 API v2 Phase 3: routes and per-op discovery
requilence Jul 30, 2026
b4bf5e1
GO-7383 API v2: §8.2 Phase-3 implementation notes (v0.3.3)
requilence Jul 30, 2026
336a0a8
GO-7383 API v2 Phase 3: fix the apply-path Tier-A findings (A1-A4)
requilence Jul 30, 2026
89f64f5
GO-7383 anyblockjson: fragment-granularity API
requilence Jul 30, 2026
433c850
GO-7383 API v2: state-apply mutation port; PATCH commits via one ordi…
requilence Jul 30, 2026
61127b3
GO-7383 API v2: PATCH ops apply to the state, not to the document
requilence Jul 30, 2026
2e081dc
GO-7383 API v2: §8.2 bumped to v0.3.4 — the state-apply pipeline as b…
requilence Jul 30, 2026
48d8566
GO-7383 API v2: fix the state-ops redesign Tier-A regressions (A1-A3)
requilence Jul 30, 2026
686b240
GO-7383 API v2: restore the R5 whole-document guarantees (B1-B3)
requilence Jul 30, 2026
17deec1
GO-7383 API v2: fix the redesign's contract breaks (C1-C3)
requilence Jul 30, 2026
aab1c12
GO-7383 API v2 Phase 3: root-append targeting for insertBlocks and mo…
requilence Jul 30, 2026
a9f71a8
GO-7383 API v2: Idempotency-Key covers PATCH and PUT, not only POST
requilence Jul 30, 2026
b3fc339
GO-7383 API v2 Phase 3: per-key add/remove for list-shaped properties…
requilence Jul 30, 2026
ec65029
GO-7383 API v2 Phase 3: collapse replaceBlock into updateBlock (break…
requilence Jul 30, 2026
988189a
GO-7383 API v2: close the v0.3.5 review findings
requilence Jul 31, 2026
9019ff6
GO-7383 API v2 spec v0.4: refresh the plan against the shipped Phase …
requilence Jul 31, 2026
1493af3
GO-7383 anyblockjson: the compact filter-string parser and the export…
requilence Jul 31, 2026
63d6cd4
GO-7383 API v2 Phase 4: the query surface
requilence Jul 31, 2026
4c2adcc
GO-7383 API v2 Phase 4: un-501 the POST /sets filter string; widen R9…
requilence Jul 31, 2026
e7e8515
GO-7383 API v2 Phase 4: discovery — the search kind and the filter gr…
requilence Jul 31, 2026
bed2bc4
GO-7383 API v2 spec: §8.4 Phase-4 as-built notes; move the Phase-4 bu…
requilence Jul 31, 2026
09b48d9
GO-7383 filterstring: bound the parser and fix the lexer's byte-wise …
requilence Aug 5, 2026
e308c92
GO-7383 anyblockjson: an OR-sibling IS EMPTY suppresses the unguarded…
requilence Aug 5, 2026
3279c76
GO-7383 API v2 Phase 4: query-surface review fixes (service layer)
requilence Aug 6, 2026
9b0b3b0
GO-7383 API v2 Phase 4: handler/router review fixes
requilence Aug 6, 2026
1db7f4f
GO-7383 API v2 Phase 4: keep the search/set discovery kinds strict-mo…
requilence Aug 6, 2026
4d8706c
GO-7383 API v2 spec: §8.5 Phase-4 review fixes as built; correct the …
requilence Aug 6, 2026
647fcd7
GO-7383 integration: pass V2Deps{} to NewServer in the chat fixture (…
requilence Aug 6, 2026
dd1d880
GO-7383 anyblockjson: the markdown→flat-blocks parser
requilence Aug 6, 2026
221102d
GO-7383 API v2: insertBlocks markdown payload, single-change-set crea…
requilence Aug 6, 2026
12bacf7
GO-7383 API v2 Phase 5: the task-tool wrapper package
requilence Aug 6, 2026
c2ceec0
GO-7383 API v2 Phase 5: the anytype CLI verb-set
requilence Aug 6, 2026
2fe5071
GO-7383 API v2 spec: §8.6 Phase-5 as-built notes, ledger moves, SKILL.md
requilence Aug 6, 2026
1ec6e98
GO-7383 API v2: the remaining-surfaces decision doc (spaces, members,…
requilence Aug 6, 2026
9ed395c
GO-7383 anyblockjson: markdown parser honors the leaf-containment and…
requilence Aug 6, 2026
a4f66df
GO-7383 API v2: bound the markdown payload channel and fix the create…
requilence Aug 6, 2026
13bd2e3
GO-7383 API v2 wrapper: idempotency identity = the resolved request; …
requilence Aug 6, 2026
24f1e0c
GO-7383 API v2 wrapper: the small-model contract fixes — served artif…
requilence Aug 6, 2026
6f13358
GO-7383 API v2 CLI + spec: a testable run(), the exit-code matrix, th…
requilence Aug 6, 2026
3440e23
GO-7383 API v2 wrapper: unpin the property-index page size from the s…
requilence Aug 6, 2026
43f1fe7
GO-7383 API v2: decide v2 is a complete, self-contained API
requilence Aug 6, 2026
677bfb7
GO-7383 API v2: Phase 8 auth is the key exchange only
requilence Aug 6, 2026
b43b8ff
GO-7383 API v2 Phase 6: chat DTOs + the inline-markup bridge
requilence Aug 6, 2026
379307f
GO-7383 API v2 Phase 6: the chat service — state passthrough, store-b…
requilence Aug 6, 2026
648411a
GO-7383 API v2 Phase 6: chat handlers + routes; C8 widened to DELETE …
requilence Aug 6, 2026
5fa404d
GO-7383 API v2 Phase 6: chat discovery kinds
requilence Aug 6, 2026
e06b714
GO-7383 API v2 spec: §8.7 Phase-6 as-built notes; chats surface close…
requilence Aug 6, 2026
5f5442c
GO-7383 API v2 chats review: close the lastStateId silent no-op; clas…
requilence Aug 6, 2026
984dc41
GO-7383 API v2 chats review: the chat handler test layer + complete s…
requilence Aug 6, 2026
7b113ad
GO-7383 API v2 chats review: C8 idempotency on every v2 DELETE — no p…
requilence Aug 6, 2026
41515e8
GO-7383 API v2 spec: record the Phase-6 review hardening in §8.7
requilence Aug 6, 2026
04c4c42
GO-7383 API v2 Phase 7: the search file-layout opt-in
requilence Aug 6, 2026
d2f1fdb
GO-7383 API v2 Phase 7: the space surface
requilence Aug 6, 2026
385a005
GO-7383 API v2 spec: §8.8 Phase-7 as-built notes; the space discovery…
requilence Aug 6, 2026
978bdad
GO-7383 API v2 Phase-7 review: the file vocabulary and the opt-in con…
requilence Aug 6, 2026
a24bd8f
GO-7383 API v2 Phase-7 review: the space surface hardening
requilence Aug 6, 2026
9bce8be
GO-7383 API v2 spec: record the Phase-7 review hardening in §8.8
requilence Aug 6, 2026
7f1ab46
GO-7383 API v2: plan the package split and two OpenAPI documents
requilence Aug 6, 2026
ec5a60f
GO-7383 API v2 layout step 1: move v2 into its own package tree
requilence Aug 6, 2026
d5ba409
GO-7383 API v2 layout step 2: the v2 swagger general-info block
requilence Aug 6, 2026
80f22ab
GO-7383 API v2 layout step 3: generate one OpenAPI document per version
requilence Aug 6, 2026
9341edf
GO-7383 API v2 layout step 4: serve one document per API version
requilence Aug 6, 2026
cee94bc
GO-7383 API v2 layout step 5: de-prefix the v2 model types
requilence Aug 6, 2026
3f12402
GO-7383 API v2 layout: as-built notes and the doc paths that moved
requilence Aug 6, 2026
5dc2444
GO-7383 API v2 scoping: the research and the P0+P1 design spec
requilence Aug 6, 2026
219d754
GO-7383 API v2: scoped API keys — auth hygiene, the grant, and enforc…
requilence Aug 6, 2026
91d8c0f
GO-7383 API v2: fix the v2 OpenAPI generation and regenerate the docu…
requilence Aug 6, 2026
e0106f9
GO-7383 API v2: drop key minting from v2 — issuance is not an API sur…
requilence Aug 7, 2026
119299e
GO-7383 API v2: the edit gate is per-op, not per-request (surface rev…
requilence Aug 7, 2026
2ec7631
GO-7383 API v2: permanent refusals answer 4xx, not retryable 500s (su…
requilence Aug 7, 2026
17659fb
GO-7383 API v2: the five Phase-2 bodies bind strict and bounded (surf…
requilence Aug 7, 2026
a272d35
GO-7383 API v2: pin the chat validate: prefix at its producer (surfac…
requilence Aug 7, 2026
55537d6
GO-7383 API v2: bound create-missing and create only after the batch …
requilence Aug 7, 2026
33d6cf5
GO-7383 API v2: reject the filter shapes that silently matched everyt…
requilence Aug 7, 2026
90e1680
GO-7383 API v2: the C8 key no longer caps uploads at 10 MiB (surface …
requilence Aug 7, 2026
a8b8795
GO-7383 API v2: bound the PATCH re-render product under the object lo…
requilence Aug 7, 2026
62122df
GO-7383 API v2: replaceText maintains the document view in place (sur…
requilence Aug 7, 2026
f95fe4a
GO-7383 API v2 spec: §8.16 M7 as-built notes — the render-work bound …
requilence Aug 7, 2026
a7ab8af
GO-7383 API v2: SKILL.md — the agent-facing HTTP guide
requilence Aug 7, 2026
3261714
GO-7383 Fix type default-view visibility regression (GO-5969)
requilence Aug 7, 2026
97ec233
GO-7383 anyblockjson: export the §6.2 view vocabulary
requilence Aug 7, 2026
249ae20
GO-7383 API v2: updateView — the write path for dataview views
requilence Aug 7, 2026
8c0ed8c
GO-7383 API v2 spec: §8.17 updateView as-built notes + SKILL.md row
requilence Aug 7, 2026
aa45d43
GO-7383 API v2: insertView, moveView, deleteView — the view family co…
requilence Aug 7, 2026
476be88
GO-7383 API v2 spec: §8.18 view-family as-built notes + SKILL.md rows
requilence Aug 7, 2026
5e70192
GO-7383 API v2: view-family review fixes — no-create commit, dataview…
requilence Aug 7, 2026
e6516e5
GO-7383 API v2 spec: §8.19 review-fix as-built notes + corrections
requilence Aug 7, 2026
16c7e8e
GO-7383 API v2 wrapper: model-tier field on the one tool table
requilence Aug 7, 2026
63d9f1f
GO-7383 API v2 wrapper: MCP stdio server over the tool table
requilence Aug 7, 2026
c395a43
GO-7383 API v2 CLI: mcp verb + --tier on the manifest verbs
requilence Aug 7, 2026
82831ef
GO-7383 API v2 spec: §8.20 MCP delivery — research verdict, tier spli…
requilence Aug 7, 2026
d6ec107
GO-7383 API v2: type/property not-found tips list the space's keys
requilence Aug 7, 2026
b6f9554
GO-7383 API v2 wrapper: edit_text locates the block from the find sni…
requilence Aug 7, 2026
e982e97
GO-7383 API v2 wrapper: case-fold type and property keys on input
requilence Aug 7, 2026
aa3e695
GO-7383 API v2 spec: §8.21 small-model benchmark fixes — decisions as…
requilence Aug 7, 2026
47612e2
GO-7383 API v2 wrapper: MCP instructions stop implying read-before-ed…
requilence Aug 7, 2026
ba7d5f6
GO-7383 ADDRESSING.md — the identifier-layer design dossier
requilence Aug 8, 2026
d974707
GO-7383 ADDRESSING.md revision — normative minting, key strategy, str…
requilence Aug 8, 2026
460a7d3
GO-7383 ADDRESSING.md — adopt the slugs-always key surface (§7.5a)
requilence Aug 8, 2026
2eb464a
GO-7383 ADDRESSING.md — flip the key strategy to (a) on falsifying ev…
requilence Aug 8, 2026
b77c359
GO-7383 ADDRESSING.md — post-reversal consistency fixes from the impl…
requilence Aug 8, 2026
f38eaa0
GO-7383 Bundled api-slug derived table (ADDRESSING §7.5a-1)
requilence Aug 8, 2026
f675473
GO-7383 v2 corpse policy, read side: uninstalled types/properties vac…
requilence Aug 8, 2026
03aab85
GO-7383 v2 create rework: mint BSON identity + slug, with the union c…
requilence Aug 8, 2026
072e9a9
GO-7383 v2 input chain: api-key slugs resolve everywhere a key is tak…
requilence Aug 8, 2026
578171c
GO-7383 v2 output surface: BSON-keyed rows advertise their slug when …
requilence Aug 8, 2026
116ab5f
GO-7383 The SPEC §2a format check, implemented at the wiring (ADDRESS…
requilence Aug 8, 2026
9694648
GO-7383 Remove the dead un-snaked option-slug fallback (ADDRESSING §2…
requilence Aug 8, 2026
fe937ce
GO-7383 APIV2.md §8.22 — the (a) identity layer as built; SKILL.md ke…
requilence Aug 8, 2026
3fa0d56
GO-7383 ADDRESSING.md — mark the build order with what shipped
requilence Aug 8, 2026
0246d35
GO-7383 Close the document-body forgery channel; sanitize derived slu…
requilence Aug 8, 2026
3229b3d
GO-7383 One chain everywhere; the guards fail closed and see their ow…
requilence Aug 8, 2026
723fb8a
GO-7383 The query channels speak what the listings advertise (review …
requilence Aug 8, 2026
71fd59d
GO-7383 Review follow-ups: bundled slugs in filter strings, the untes…
requilence Aug 8, 2026
1d30b7d
GO-7383 Docs: §8.23 (the review pass as built), §8.22 truthfulness, A…
requilence Aug 8, 2026
55a91c5
GO-7383 API v2 token economics: measured review (APIV2_TOKENS.md)
requilence Aug 8, 2026
44343f9
GO-7383 APIV2_TOKENS §5.4: scope the frontier ID-arm result, spell ou…
requilence Aug 8, 2026
bc1352c
GO-7383 APIV2_TOKENS §10: split the ids knob; reject the ref-legend h…
requilence Aug 9, 2026
7987330
GO-7383 Phase 9: space-optional object routes
requilence Aug 9, 2026
fc1306f
GO-7383 API v2: the plan of outstanding work
requilence Aug 9, 2026
52318ea
GO-7383 API v2: the served body is compact all the way down (Wave 0.1)
requilence Aug 9, 2026
a9f0100
GO-7383 API v2: split ?ids= into two document shapes (Wave 0.2)
requilence Aug 9, 2026
3a4801e
GO-7383 AnyBlock: relabel only machine-minted ids; reserve everything…
requilence Aug 9, 2026
2919ea3
GO-7383 API v2: no write path adopts a served id spelling it was neve…
requilence Aug 9, 2026
cac376e
GO-7383 API v2: no shape serves the refs legend; ?ids= reaches type r…
requilence Aug 9, 2026
7b56e1c
GO-7383 wrapper: retire client-side relabeling — the server owns labe…
requilence Aug 9, 2026
6ca29ef
GO-7383 API v2: the machine-readable contract stops asserting the PUT…
requilence Aug 9, 2026
f2664d4
GO-7383 API v2 docs: correct the Wave-0 record; §8.26 as-built for th…
requilence Aug 9, 2026
4776eea
GO-7383 go.sum: record the sums the make openapi tool run resolved
requilence Aug 9, 2026
9ef8af4
GO-7383 API v2: ?block= resolves both id spellings; the mixed-populat…
requilence Aug 9, 2026
49925d1
GO-7383 API v2: ?block= stored-id fallback maps positionally, not by …
requilence Aug 9, 2026
d3b5700
GO-7383 API v2: PATCH refuses payload ids that tail an existing block id
requilence Aug 9, 2026
576097a
GO-7383 API v2: docLocalIds sees table-cell descendants
requilence Aug 9, 2026
c1f21f6
GO-7383 API v2: pin the prescribed GET ?ids=full → PUT loop with a po…
requilence Aug 9, 2026
51cb520
GO-7383 anyblockjson: make TestExport_CompactBlockLabelsOnly able to …
requilence Aug 9, 2026
8a5c99c
GO-7383 API v2: handler-level pin for GetType ?ids= threading
requilence Aug 9, 2026
7a8ad92
GO-7383 wrapper: bound the C8 reuse window below, judge it once, keep…
requilence Aug 9, 2026
4a3eb09
GO-7383 API v2: POST types accepts the etag of its own read
requilence Aug 9, 2026
2e851a5
GO-7383 API v2 docs: §8.26 release-pass record, corrected claims, ANO…
requilence Aug 9, 2026
dc971a1
GO-7383 API v2: remove the PUT full-document-replace surface
requilence Aug 10, 2026
d3cb0e4
GO-7383 API v2: retire ObjectMutator.ResetObject and the reset-path r…
requilence Aug 10, 2026
328f510
GO-7383 API v2: regenerate the OpenAPI documents without the PUT oper…
requilence Aug 10, 2026
99593ed
GO-7383 API v2 docs: snapshots are for creates, edits are ops (§8.27)
requilence Aug 10, 2026
464415e
GO-7383 API v2 guides: drop the id-compaction mechanism from agent-fa…
requilence Aug 10, 2026
869ec61
GO-7383 API v2: PATCH payload ids resolve, they are not taken literally
requilence Aug 10, 2026
2d4ba6e
GO-7383 API v2: the create path tolerates corpse-held property keys a…
requilence Aug 10, 2026
95e3d78
GO-7383 API v2: the block-not-found hints stop lying; re-pin two guards
requilence Aug 10, 2026
243e485
GO-7383 API v2 spec: correct C4 and §8.28, record the audit as §8.29
requilence Aug 10, 2026
01b04ec
GO-7383 API v2: the insertBlocks payload no longer advertises an id i…
requilence Aug 10, 2026
5b01ff1
GO-7383 API v2: one id domain for both halves of the payload id rule
requilence Aug 10, 2026
5d0b729
GO-7383 API v2: an evaluation harness that runs small models through …
requilence Aug 10, 2026
56c38fb
GO-7383 API v2 eval: count the op const, name the refusal the schema …
requilence Aug 10, 2026
4b87c71
GO-7383 API v2 eval: the ops arm sets the op discriminator, and count…
requilence Aug 10, 2026
1e47688
GO-7383 API v2 eval: wait for the fixture to be searchable before sta…
requilence Aug 10, 2026
2391b4a
GO-7383 API v2 eval: the op-schema example is not an instance of the …
requilence Aug 10, 2026
6fbc335
GO-7383 API v2 eval: a diagnostic for the discriminator — const, or t…
requilence Aug 10, 2026
6b3df68
GO-7383 API v2 eval: count what the model wrote into the discriminato…
requilence Aug 10, 2026
0289109
GO-7383 API v2 eval: wait for a freshly created eval space to be read…
requilence Aug 10, 2026
55a0128
GO-7383 API v2 eval: the live smoke tests serve the stub API without …
requilence Aug 10, 2026
233e54d
GO-7383 API v2: position names an end of the document when nothing el…
requilence Aug 10, 2026
98139a6
GO-7383 API v2: the op-schema example is an instance of the schema se…
requilence Aug 10, 2026
b7b61c8
GO-7383 API v2: the payload block's type publishes the format's own v…
requilence Aug 10, 2026
6c1165f
GO-7383 API v2 spec: §8.32 as-built — three defects measurement found…
requilence Aug 10, 2026
c727bd5
GO-7383 apiv2eval: derive the tier gate, isolate the fixtures, add th…
requilence Aug 10, 2026
c53e0be
GO-7383 API v2: the output-only property set is stated once, in v2model
requilence Aug 10, 2026
5df026e
GO-7383 API v2 wrapper: three defects a live small-model run exposed
requilence Aug 10, 2026
d2867fd
GO-7383 API v2 spec: §8.33 — the A/B that settled §8.30, and three de…
requilence Aug 10, 2026
ba6167e
GO-7383 API v2 wrapper: name the truncated space id, and stop speakin…
requilence Aug 11, 2026
92563c6
GO-7383 API v2: a space reference a model cannot truncate
requilence Aug 11, 2026
63d7c7a
GO-7383 API v2: the full space id stays reachable, under ?ids=full
requilence Aug 11, 2026
e91beab
GO-7383 apiv2eval: the process env overrides the env file; tasks say …
requilence Aug 11, 2026
4a0a754
GO-7383 anyblockjson: OVERVIEW.md — the format's decisions and why
requilence Aug 11, 2026
356e7fe
GO-7383 Wave 1.1: the heart-side mint checks the union, not nothing
requilence Aug 13, 2026
be5b363
GO-7383 Wave 1.2: backfill apiObjectKey for the spaces that predate it
requilence Aug 13, 2026
b1b67a9
GO-7383 Wave 1.3: the slug is the only key vocabulary, bundled keys i…
requilence Aug 13, 2026
9cdf84e
GO-7383 Wave 1.3 cascade: every served example speaks the slug
requilence Aug 13, 2026
ab08b01
GO-7383 Wave 1 review: the write half spoke a different vocabulary
requilence Aug 13, 2026
1e8a24d
GO-7383 The duplicate-slug collapse was decided by map iteration order
requilence Aug 13, 2026
a423064
GO-7383 The backfill re-pointed every v1 custom type key
requilence Aug 13, 2026
bbbd791
GO-7383 Corpse addressability: pin both store shapes, mark the three …
requilence Aug 14, 2026
49d9f2b
GO-7383 Corpse policy: fix the three half-applied cases, both store s…
requilence Aug 14, 2026
8ffd727
GO-7383 ADDRESSING §2.3-6: isDeleted is what hides corpses, not nothing
requilence Aug 14, 2026
66c8560
GO-7383 APIV2 §8.40: the corpse policy where it was only half-applied
requilence Aug 14, 2026
733356f
GO-7383 Corpse policy: the tombstone window, the slug==key class, the…
requilence Aug 14, 2026
5168d6b
GO-7383 Pin the typeKeysById suppression at the map level
requilence Aug 14, 2026
06f32f4
GO-7383 insertView runs the removal gate too — pinned
requilence Aug 14, 2026
21069d8
GO-7383 Plan: derived-object delete leaves one store shape, not two
requilence Aug 14, 2026
1688651
GO-7383 DerivedDeleteConsistency: BeforeDelete favorite handling is a…
requilence Aug 14, 2026
a57bead
GO-7383 API v2 spec: object DELETE (plan 3.3) — creator provenance on…
requilence Aug 14, 2026
b87d807
GO-7383 Object DELETE spec: fail-closed on legacy objects is final; v…
requilence Aug 14, 2026
b810b2b
GO-7383 pb.Change/ChangeNoSnapshot: integrationKey = 10, copied on th…
requilence Aug 14, 2026
3730fa4
GO-7383 domain: IntegrationKeyFromAppName slug + neutral ctx carrier
requilence Aug 14, 2026
12dd57d
GO-7383 Stamp creation provenance on the creating change, per-apply only
requilence Aug 14, 2026
a45ad4b
GO-7383 API auth middleware installs the integration-key carrier
requilence Aug 14, 2026
55c90bf
GO-7383 apicore.ObjectProvenance: the DELETE enforcement read (§10)
requilence Aug 14, 2026
64f2ce7
GO-7383 DELETE /v2/spaces/{spaceId}/objects/{objectId} — archive, own…
requilence Aug 14, 2026
6bdfcc7
GO-7383 Key issuance requires an app name (§5/§11.7)
requilence Aug 14, 2026
e20f19a
GO-7383 Docs: §8.42 object-DELETE as-built, plan 3.3 closed, SKILL de…
requilence Aug 14, 2026
a3010bc
GO-7383 Plan: stage Wave 2.1 locators into slices 2.1a-2.1d
requilence Aug 14, 2026
65b3179
GO-7383 API v2: replaceText find-as-locator — id optional, one match …
requilence Aug 14, 2026
e4cee58
GO-7383 Wrapper: edit_text drops the locate double-read — the server …
requilence Aug 14, 2026
d8721bd
GO-7383 Docs: §8.43 find-as-locator as-built, §2(c) locator rule, pla…
requilence Aug 14, 2026
a2a4191
GO-7383 Provenance records the RAW app name, compared exactly (spec §…
requilence Aug 14, 2026
0a2e4d2
GO-7383 DELETE gets a positive user-content sbType allowlist (review F1)
requilence Aug 14, 2026
6395ef9
GO-7383 Wrapper: translateOpsError rewrites issue Hints too (review H1)
requilence Aug 14, 2026
86eaaca
GO-7383 AccountLocalLinkNewChallenge maps ErrBadInput to BAD_INPUT (r…
requilence Aug 14, 2026
d1b986a
GO-7383 DELETE: the file-ownership refusal is a 403; dry-run contract…
requilence Aug 14, 2026
8164714
GO-7383 Archive success is judged over the requested ids, not the cas…
requilence Aug 14, 2026
0c15d9f
GO-7383 Apply consumes the integration-name stamp at capture (review F6)
requilence Aug 14, 2026
57ee945
GO-7383 Docs: §8.44 second-round record; §7/§13/§17 recorded gaps (an…
requilence Aug 14, 2026
1c74b91
GO-7383 Docs: sweep the last integrationKey spellings (spec §4 table,…
requilence Aug 14, 2026
0373454
GO-7383 anonymize.Change covers the integration name
requilence Aug 14, 2026
90e32e4
GO-7383 API v2: `match` locates the block on updateBlock and deleteBl…
requilence Aug 14, 2026
9a6a554
GO-7383 Docs: §8.45 match-as-locator as-built, §2 rule, plan 2.1b clo…
requilence Aug 14, 2026
bda103c
GO-7383 Retire the flat-encoding build artefacts; ADDRESSING moves to…
requilence Aug 17, 2026
5ede1f8
GO-7383 API v2 docs: 45 routes in one V2 section become twelve
requilence Aug 17, 2026
66b20b1
GO-7383 API v2 docs: name what each section is for
requilence Aug 17, 2026
55df862
GO-7383 API v2 docs: drop the v2_ prefix from operationIds
requilence Aug 17, 2026
cbe879b
GO-7383 API v2: stop stuttering with the package name
requilence Aug 17, 2026
86133fb
GO-7383 API v2: v2's own vocabulary is snake_case (C2 re-stated)
requilence Aug 17, 2026
6977944
GO-7383 API v2 docs: say the endpoint-specific thing, once
requilence Aug 17, 2026
2b8353f
GO-7383 Merge go-7383-anyblockjson: the format's vocabulary is snake_…
requilence Aug 17, 2026
8503c2f
GO-7383 API v2: finish the snake_case migration for v2's own wire voc…
requilence Aug 19, 2026
eb35a4e
GO-7383 API v2: finish the snake_case migration for block type names
requilence Aug 19, 2026
b83818b
GO-7383 API v2: update findings doc with round-2 results (170 -> 29)
requilence Aug 19, 2026
93af719
GO-7383 API v2: mop up the last stale camelCase spots (isHeader, obje…
requilence Aug 19, 2026
d58c0e1
GO-7383 API v2: update findings doc with round-3 results (29 -> 9)
requilence Aug 19, 2026
e43caff
GO-7383 anyblockjson/filterstring: finish the snake_case migration in…
requilence Aug 19, 2026
789990a
GO-7383 API v2: close out findings doc — 223 -> 0 failing subtests
requilence Aug 19, 2026
ec64286
GO-7383 anyblockjson: fix emptyPlacement->empty_placement in the sort…
requilence Aug 19, 2026
0141b4a
GO-7383 Merge go-7383-anyblockjson (SPEC v0.46) into the API v2 branch
requilence Aug 26, 2026
3b753ef
GO-7383 API v2: adopt §2e's key→property rename in dataview and type_…
requilence Aug 26, 2026
8a1d3b1
GO-7383 API v2: the dataview property list reads "property" in tests too
requilence Aug 26, 2026
d7c97f1
GO-7383 API v2: move the type surface onto §2a's type_settings
requilence Aug 26, 2026
2f4582a
GO-7383 API v2: drop the §2a migration steers — nothing shipped to mi…
requilence Aug 26, 2026
f45d949
GO-7383 API v2: typed callout icon, the property block's `property`, …
requilence Aug 26, 2026
bd4f9f9
GO-7383 API v2: finish the §2a/§2e fixture and issue-path sweep
requilence Aug 26, 2026
6c31ff4
GO-7383 API v2: PATCH types accepts the typed icon, decoded by the fo…
requilence Aug 26, 2026
501b565
GO-7383 API v2: the type-read fixtures follow §2a, and a forged slug …
requilence Aug 26, 2026
170d6c0
GO-7383 API v2: the last three §2b/§2e/§9 consequences — suite green
requilence Aug 26, 2026
511b69b
GO-7383 API v2 tools: the wrapper was decoding a type document that n…
requilence Aug 26, 2026
ce158e1
GO-7383 API v2: gate implicit option creation behind ?create_options=…
requilence Aug 26, 2026
a072ac8
GO-7383 API v2: name the consent flag create_missing_options
requilence Aug 26, 2026
3a138f9
GO-7383 Merge go-7383-anyblockjson (blob-purged history) into the API…
requilence Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ build
doc/dependency_decisions.yml
.serena/
.ralphex/progress/
/eval-out/

# compiled cmd/ tool binaries, which land at the repo root when built with
# `go build ./cmd/<name>` and have been committed by accident more than once
Expand Down
4 changes: 4 additions & 0 deletions .mockery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,10 @@ packages:
ClientCommands:
ChatSubscriptionService:
FileObjectService:
ObjectReader:
ObjectCreator:
ObjectMutator:
ObjectProvenance:
github.com/anyproto/anytype-heart/core/api/filter:
interfaces:
ApiService:
Expand Down
862 changes: 450 additions & 412 deletions clientlibrary/service/service.pb.go

Large diffs are not rendered by default.

97 changes: 97 additions & 0 deletions cmd/anytype/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
name: anytype
description: Read, search, create and edit Anytype objects through the anytype CLI. Use when the user asks to find notes/tasks/pages in Anytype, create objects, tick checkboxes, edit document text, fill tables, or reorganize content. Task-shaped verbs over the local API; results are numbered handles you pass back — never copy long ids.
---

# Anytype task tools

Twelve verbs over the local Anytype API. Everything composes through a
session: `find` numbers its results (1, 2, …) and sets the working space;
every other verb takes `--object <number>`.

Setup: the local Anytype app must be running; `ANYTYPE_API_KEY` holds an
API key from the app's settings (`ANYTYPE_API_URL` defaults to
`http://127.0.0.1:31009`).

## The loop

```sh
anytype spaces # space ids, when none is known
# Work — bafyspace1
anytype find --space bafyspace1 --type task --filter 'done = false'
# 1. Prepare the Q3 report (task)
# 2. Ship the beta (task)
anytype edit-text --object 1 --find "Q3" --replace "Q4"
# --block is optional: the snippet locates the block when it matches
# exactly one; an ambiguous snippet refuses and lists the candidates
anytype read --object 1 --mode outline # block ids + structure
```

1. **spaces** when no space id is known — it lists `name — id`.
2. **find** next — it creates the handles and the working space.
3. **describe** before you create or set properties — property keys and
select option names must match exactly; describe lists the live ones.
4. **read** before you edit blocks — block ids come from read
(`--mode outline` for structure, full mode for text; table row and
column ids come from full mode too).

## Intent → verb recipes

| Intent | Verb — not that other thing |
|---|---|
| complete/close a task object | `set-properties --object 1 --set '{"done":true}'` (or the status option describe shows, e.g. `{"status":"Done"}`) — NOT check-item, which is for checkbox blocks inside a document |
| tick a checklist line in a note | `check-item --object 1 --block ab3f2 --checked` |
| change one word/phrase | `edit-text` with a short unique snippet — never retype the block; `--block` only when the snippet alone is ambiguous (the error lists the candidates) |
| delete a word/phrase | `edit-text --find "the phrase" --replace ""` — an empty replacement deletes |
| add notes/sections/checklists | `add-blocks --markdown '…'` — write markdown, the server parses it |
| fill one table cell | `set-cell` — never rewrite the table; row/col ids come from full read |
| clear one table cell | `set-cell … --value ""` — an empty value clears |
| assign to the current user | value `"@me"` — e.g. `--set '{"assignee":"@me"}'` |
| due dates | `today`, `tomorrow`, weekday names, `+3d`, or `2026-08-01` |
| find "my open tasks" | `--filter 'assignee = "@me" AND done = false'` |

## Filter strings

`--filter` is a compact expression, not JSON:
`done = false AND (due_date < currentWeek() OR due_date IS EMPTY)` ·
`status IN ("In progress", "Blocked")` · `name CONTAINS "report"` ·
`last_modified_date > daysAgo(7)`. String values take double quotes; date
presets are functions (`today()`, `currentWeek()`, `daysAgo(n)`).

## Caveats

- **Text is markdown source.** `edit-text` find/replace operates on the
block's markup: `**`, `[`, `~~` in a replacement become real formatting.
Escape with `\` when you mean the literal character.
- **Select options are never created by these verbs.** An unknown option
name is an error listing the existing names — fix the spelling (option
names are case-sensitive). `--create-missing` is the deliberate escape.
Type and property KEYS are more forgiving: a wrongly-cased key
(`Status` for `status`) resolves when exactly one key matches; if two
keys differ only by case the error names both.
- **Handles expire on the next find.** Re-run `find` and use the new
numbers. Block ids come from `read` — use them as served, and re-read
after a structural edit rather than reusing remembered ones. A block id
always names an EXISTING block: new content is authored without ids
(`add-blocks` takes none). Every edit receipt names the object it changed
(`ok — "Groceries": …`) — check it matches your intent.
- **One verb, one intent.** There is no batch; run verbs in sequence.
Retries are safe: an identical re-run within a minute is deduplicated,
including after a failed or timed-out attempt.
- Errors are self-describing and name valid alternatives — read them, fix
the named field, retry once. Do not loop blindly.

## References

- `anytype tools` — the machine-readable manifest: per-tool JSON schema,
worked example, GBNF grammar (constrained decoding), and the filter
grammar (EBNF + GBNF). `--tier small` narrows it to the 8-tool set for
~8B models (`large`, the default, is all twelve).
- `anytype mcp --tier small|large` — serve the same tools over MCP stdio
for LOCAL models (Ollama/LM Studio-class hosts). Coding agents reading
this skill should keep using the verbs directly — the CLI is the
intended delivery for them; `mcp` exists for hosts that cannot run
commands. Session state is in-memory for the server's lifetime.
- `anytype help` — the verb list; `anytype <verb> --help` — its flags.
- Spec: `core/api/APIV2.md` §7 (the wrapper contract), `pkg/lib/anyblockjson/SPEC.md`
(the document format the full-read mode returns).
Loading
Loading