sphica 0.6.14 → 0.6.15

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "sphica",
4
- "version": "0.6.14",
4
+ "version": "0.6.15",
5
5
  "description": "Records Claude Code and Codex sessions on your machine and keeps past implementation and decisions, with their sources, for your agent to find.",
6
6
  "author": {
7
7
  "name": "iroha924",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sphica",
3
- "version": "0.6.14",
3
+ "version": "0.6.15",
4
4
  "description": "Records Claude Code and Codex sessions on your machine and keeps past implementation and decisions, with their sources, for your agent to find.",
5
5
  "author": {
6
6
  "name": "iroha924",
@@ -0,0 +1,36 @@
1
+ -- Rows revision 5 cannot take and the migration must not change on its own. `sphica init` runs this first, inside the same transaction,
2
+ -- and stops with every row listed when there is any; nothing is changed.
3
+
4
+ create temp table sphica_migration_stop (rule text, item text);
5
+
6
+ -- A file excerpt's path is part of its identity, and a source is removed only by the owner's forget
7
+ insert into sphica_migration_stop
8
+ select 'a file excerpt whose path revision 5 refuses (forget it to go on)', 'source ' || id || ' ' || external_id
9
+ from source where kind = 'file_excerpt' and not (path <> '' and path <> '.' and path <> '..' and path not glob '/*' and path not glob '[A-Za-z]:*' and path not glob '*\*'
10
+ and path not glob '*//*' and path not glob './*' and path not glob '../*' and path not glob '*/./*' and path not glob '*/../*'
11
+ and path not glob '*/.' and path not glob '*/..' and path not glob '*[' || char(1) || '-' || char(31) || char(127) || '-' || char(159) || ']*') order by id;
12
+
13
+ -- Values no release of this generation ever wrote: such a row was written outside Sphica, and revision 5 no longer has the value
14
+ insert into sphica_migration_stop
15
+ select 'a pull request event other than a merge', 'source ' || id || ' (' || event_kind || ')' from source
16
+ where event_kind is not null and event_kind <> 'merged' order by id;
17
+ insert into sphica_migration_stop
18
+ select 'an extraction run that failed, was capped, or carries a reason', 'run ' || id || ' (' || status || ')' from extraction_run
19
+ where status not in ('running', 'saved') or reason is not null order by id;
20
+ insert into sphica_migration_stop
21
+ select 'a source processing outcome that failed or was capped', 'source ' || source_id || ' in run ' || run_id || ' (' || outcome || ')'
22
+ from source_processing where outcome not in ('units', 'no_unit') order by run_id, source_id;
23
+ insert into sphica_migration_stop
24
+ select 'an implements link between records', 'unit ' || from_unit || ' implements unit ' || to_unit from unit_link
25
+ where kind = 'implements' order by from_unit, to_unit;
26
+ insert into sphica_migration_stop
27
+ select 'an unfetched reference (revision 5 has no table for it)', 'reference ' || id || ' ' || url from external_reference order by id;
28
+
29
+ -- A retraction's reason cites a span of the owner's words that starts before the text: no release wrote one, and no span can be told
30
+ -- from it
31
+ insert into sphica_migration_stop
32
+ select 'a retraction span starting before its text', 'evidence ' || id || ' of unit ' || unit_id from unit_evidence
33
+ where retraction_span_start < 0 order by id;
34
+ insert into sphica_migration_stop
35
+ select 'a retraction span starting before its text', 'adoption ' || id || ' of unit ' || unit_id from unit_adoption
36
+ where retraction_span_start < 0 order by id;