@inharness-ai/claude4spec 1.0.13 → 1.0.14

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
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.14] - 2026-06-03
9
+
10
+ ### Removed
11
+ - Obsolete acceptance criteria seed migration `026_ac_seed.sql` (stale AC data for modules M06, M19, M20 and associated tags), as part of cleaning up unused database migration scripts.
12
+
8
13
  ## [1.0.13] - 2026-06-03
9
14
 
10
15
  ### Added
@@ -145,6 +150,7 @@ Initial public release.
145
150
  - Acceptance Criteria entity and tooling.
146
151
  - Briefs and patches workflow for spec-driven implementation.
147
152
 
153
+ [1.0.14]: https://github.com/InHarness/claude4spec/compare/v1.0.13...v1.0.14
148
154
  [1.0.13]: https://github.com/InHarness/claude4spec/compare/v1.0.12...v1.0.13
149
155
  [1.0.12]: https://github.com/InHarness/claude4spec/compare/v1.0.11...v1.0.12
150
156
  [1.0.11]: https://github.com/InHarness/claude4spec/compare/v1.0.10...v1.0.11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inharness-ai/claude4spec",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "Plan the whole system before your agent writes a line of code. Local-first planning layer with structured entities and typed relations.",
5
5
  "license": "MIT",
6
6
  "author": "Mike Tomala <mike@inharness.ai>",
@@ -1,75 +0,0 @@
1
- -- v0.1.15 — 14 startowych Acceptance Criteria pokrywających M06 / M19 / M20.
2
- -- Każdy AC seedowany pod istniejące moduły: kind='requirement', status='active',
3
- -- plus tag mNN wiążący z modułem.
4
- -- Idempotent — INSERT OR IGNORE na (ac.slug UNIQUE) i (entity_tag UNIQUE).
5
-
6
- INSERT OR IGNORE INTO tag (slug, name) VALUES ('m06', 'm06');
7
- INSERT OR IGNORE INTO tag (slug, name) VALUES ('m19', 'm19');
8
- INSERT OR IGNORE INTO tag (slug, name) VALUES ('m20', 'm20');
9
-
10
- INSERT OR IGNORE INTO ac (slug, text, kind, status, verifies) VALUES
11
- ('m06-anchor-length-contract',
12
- 'Anchory generowane przez section indexer mają dokładnie 8 znaków z alfabetu [a-z0-9]; walidacja/parsing akceptuje 6-12 znaków (manualne semantyczne anchory).',
13
- 'requirement', 'active', '[]'),
14
- ('m06-section-indexer-auto-injection',
15
- 'Section indexer auto-injectuje anchor comments do nagłówków bez anchora; nie modyfikuje nagłówków, które już mają anchor.',
16
- 'requirement', 'active', '[]'),
17
- ('m06-section-ref-chip-rendering',
18
- '<section_ref anchor="X"/> renderuje się jako klikalny chip z heading text i page path; broken anchor (brak w section_index) renderuje broken chip.',
19
- 'requirement', 'active', '[]'),
20
-
21
- ('m19-find-references-include-tag-matches',
22
- 'find_references(type, slug, { includeTagMatches: true }) zwraca dynamic refs ze stron z <tagged_list/> i <tagged_list_mixed/>, których atrybut tags przecina się z tagami encji; pole via[] obecne tylko dla dynamic rows.',
23
- 'requirement', 'active', '[]'),
24
- ('m19-tagged-list-type-mismatch-skipped',
25
- '<tagged_list type="X"/> z type różnym od typu szukanej encji jest pomijany w find_references({includeTagMatches:true}) — embed nie pokazałby tej encji.',
26
- 'requirement', 'active', '[]'),
27
- ('m19-untagged-entity-no-op',
28
- 'Encja bez żadnego tagu w find_references({includeTagMatches:true}) → no-op (intersect zawsze pusty, brak dynamic rows w output).',
29
- 'requirement', 'active', '[]'),
30
-
31
- ('m20-three-editor-contexts',
32
- 'EditorFactory wspiera trzy konteksty edytora: page (pełny markdown), description (markdown bez task lists), plan (markdown + XML chips); każdy z osobnym mention sources rejestrem.',
33
- 'requirement', 'active', '[]'),
34
- ('m20-editor-factory-create',
35
- 'EditorFactory.create(contextId, initial) zwraca tiptap Editor zhydratowany dla danego kontekstu z initial content jako markdown string.',
36
- 'requirement', 'active', '[]'),
37
- ('m20-markdown-it-xml-rules',
38
- 'markdown-it ma custom rules xml_inline, xml_block, xml_block_content rozpoznające 6 nazw XML reference tags (inline_mention, single_element, element_list, tagged_list, tagged_list_mixed, section_ref).',
39
- 'requirement', 'active', '[]'),
40
- ('m20-xml-inline-dispatch-six-tags',
41
- 'xml_inline markdown-it rule dispatcher mapuje wszystkie 6 tag names na odpowiednie tiptap node types (5 z M19 + section_ref jako extension reference).',
42
- 'requirement', 'active', '[]'),
43
- ('m20-gfm-task-lists',
44
- 'Edytor wspiera GFM task lists (- [x] checked / - [ ] unchecked) z renderowaniem checkboxów i toggle przy kliknięciu.',
45
- 'requirement', 'active', '[]'),
46
- ('m20-five-generic-m19-nodes',
47
- 'Pięć generycznych tiptap nodów M19 (InlineMentionNode, SingleElementNode, ElementListNode, TaggedListNode, TaggedListMixedNode) deleguje render do clientPluginHost.getEntity(type).renderChip / renderCard.',
48
- 'requirement', 'active', '[]'),
49
- ('m20-outline-gutter',
50
- 'Outline gutter pokazuje listę sekcji strony z anchor + heading text; klik w pozycji scrolluje edytor do anchor i podświetla wiersz.',
51
- 'requirement', 'active', '[]'),
52
- ('m20-ws-query-keys',
53
- 'WebSocket events broadcastują invalidation keys mapujące na konkretne tanstack-query query keys; useChat / useEntityList nasłuchują i invalidują tylko zmienione zapytania.',
54
- 'requirement', 'active', '[]');
55
-
56
- -- Wiązanie AC z tagami modułów. SELECT-based pattern — działa bez względu na
57
- -- to, czy INSERT OR IGNORE wyżej wstawił nowy wiersz czy ominął istniejący.
58
- INSERT OR IGNORE INTO entity_tag (entity_type, entity_id, tag_id)
59
- SELECT 'ac', a.id, t.id FROM ac a, tag t
60
- WHERE (a.slug, t.slug) IN (
61
- ('m06-anchor-length-contract', 'm06'),
62
- ('m06-section-indexer-auto-injection', 'm06'),
63
- ('m06-section-ref-chip-rendering', 'm06'),
64
- ('m19-find-references-include-tag-matches', 'm19'),
65
- ('m19-tagged-list-type-mismatch-skipped', 'm19'),
66
- ('m19-untagged-entity-no-op', 'm19'),
67
- ('m20-three-editor-contexts', 'm20'),
68
- ('m20-editor-factory-create', 'm20'),
69
- ('m20-markdown-it-xml-rules', 'm20'),
70
- ('m20-xml-inline-dispatch-six-tags', 'm20'),
71
- ('m20-gfm-task-lists', 'm20'),
72
- ('m20-five-generic-m19-nodes', 'm20'),
73
- ('m20-outline-gutter', 'm20'),
74
- ('m20-ws-query-keys', 'm20')
75
- );