@sporhq/spor 0.4.1 → 0.4.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/.claude-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/skills/brief/SKILL.md +15 -3
- package/skills/spor/SKILL.md +4 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"name": "spor",
|
|
3
3
|
"displayName": "Spor Context Compiler",
|
|
4
4
|
"description": "Maintains a typed, versioned knowledge graph and compiles compact briefings from it: session-start injection, per-prompt relevance digests, capture at discovery, end-of-session distillation, decision queue.",
|
|
5
|
-
"version": "0.4.
|
|
5
|
+
"version": "0.4.2",
|
|
6
6
|
"author": { "name": "losthammer" }
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sporhq/spor",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Anthony Allen",
|
package/skills/brief/SKILL.md
CHANGED
|
@@ -37,14 +37,26 @@ Steps:
|
|
|
37
37
|
**Local mode (personal graph) — `SPOR_SERVER` unset:** first resolve the
|
|
38
38
|
plugin root — `${CLAUDE_PLUGIN_ROOT}` is empty in the Bash tool, so read
|
|
39
39
|
the path the session-start hook cached
|
|
40
|
-
(issue-cc-skill-plugin-root-unsubstituted)
|
|
40
|
+
(issue-cc-skill-plugin-root-unsubstituted) — then resolve THIS repo's
|
|
41
|
+
project slug the same way a session does, so the compile is scoped to the
|
|
42
|
+
repo you're in instead of project-blind:
|
|
41
43
|
```bash
|
|
42
44
|
SPOR_ROOT="$(cat "${SPOR_HOME:-$HOME/.spor}/cache/plugin-root" 2>/dev/null \
|
|
43
45
|
|| cat "$HOME/.substrate/cache/plugin-root" 2>/dev/null)"
|
|
44
46
|
SPOR_ROOT="${SPOR_ROOT:-$CLAUDE_PLUGIN_ROOT}"
|
|
47
|
+
SLUG="$(node -e 'process.stdout.write(require("'"$SPOR_ROOT"'/scripts/engines/util.js").projectSlug(process.cwd()))' 2>/dev/null)"
|
|
45
48
|
```
|
|
46
|
-
- node id: `node "$SPOR_ROOT/lib/compile.js" --root <id> --skeleton`
|
|
47
|
-
- query: `node "$SPOR_ROOT/lib/compile.js" --query "<text>"`
|
|
49
|
+
- node id: `node "$SPOR_ROOT/lib/compile.js" --root <id> --skeleton ${SLUG:+--project "$SLUG"}`
|
|
50
|
+
- query: `node "$SPOR_ROOT/lib/compile.js" --query "<text>" ${SLUG:+--project "$SLUG"}`
|
|
51
|
+
|
|
52
|
+
**Always pass `--project "$SLUG"`.** Without it, `compile --root`/`--query`
|
|
53
|
+
run *project-blind* (`sessionProject == null`): the org-norm ride-along then
|
|
54
|
+
keeps every `always_on` norm and ignores `applies_to_repos`/`applies_to_tags`/
|
|
55
|
+
`applies_to_projects` scoping entirely — so an unscoped briefing shows norms a
|
|
56
|
+
real session in this repo would filter out (the `applies_to_*` selectors match
|
|
57
|
+
the SESSION repo, not the `--root` node's repo). `--project` makes the compile
|
|
58
|
+
match what session-start actually injects here.
|
|
59
|
+
|
|
48
60
|
(The compiler defaults to the global graph at `$SPOR_HOME/nodes`, falling
|
|
49
61
|
back to `~/.spor/nodes` — or a pre-existing `~/.substrate/nodes` when
|
|
50
62
|
`~/.spor` is absent.)
|
package/skills/spor/SKILL.md
CHANGED
|
@@ -100,6 +100,10 @@ mode dispatches to the server (mirroring `/spor:brief`). Much of this is what
|
|
|
100
100
|
the session hooks already inject for you automatically; pulling one on demand
|
|
101
101
|
with `spor brief`, `spor compile`, or `/spor:brief` is the same briefing.
|
|
102
102
|
Passing `--nodes <dir>` always targets that local checkout, even under a server.
|
|
103
|
+
In local mode, add `--project <repo-slug>` to scope to a repo: without it
|
|
104
|
+
`compile --root`/`--query` run *project-blind* and the `always_on` norm
|
|
105
|
+
ride-along ignores `applies_to_*` scoping (every norm rides along) — pass it to
|
|
106
|
+
match what a real session in that repo sees. `/spor:brief` does this for you.
|
|
103
107
|
|
|
104
108
|
**In Cowork (Anthropic's chat workspace) and Claude Code with the connector**
|
|
105
109
|
there is no shell and no ambient injection — reach the graph through the
|