@hraness/wordcell 0.26.0 → 0.26.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/README.md +24 -12
- package/dist/cli-bin.js +1 -1
- package/dist/{cli-release-c74c5m3k.js → cli-release-cf48w61z.js} +4 -1
- package/dist/evaluation-builder-bin.js +1 -1
- package/dist/{index-ncgdaja4.js → index-6jz050v0.js} +1 -1
- package/package.json +1 -1
- package/skills/wordcell/SKILL.md +1 -1
- package/src/cli-release.ts +6 -1
package/README.md
CHANGED
|
@@ -9,14 +9,26 @@ sources as Markdown files beside your code, and agents find them by exact
|
|
|
9
9
|
words, by meaning with an optional local model, or from the file they are
|
|
10
10
|
about to change.
|
|
11
11
|
|
|
12
|
-
A new coding-agent session
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
A new coding-agent session needs the reasons behind the code it is changing.
|
|
13
|
+
Wordcell keeps the decision, its supporting sources, and the plan that puts it
|
|
14
|
+
into practice in a connected set of Markdown files. Tie a note to a repository
|
|
15
|
+
path, and the next agent can recover that context before it edits the file.
|
|
16
|
+
When an assumption changes, update the decision and keep its earlier reasoning
|
|
17
|
+
in Git.
|
|
18
|
+
|
|
19
|
+
Captured sources preserve what you read, maintained notes explain what you
|
|
20
|
+
currently understand, and plans record the work and its results. Named
|
|
21
|
+
relationships such as `evidenced-by` and `supersedes` make those connections
|
|
22
|
+
available to the embedded Oh graph engine, whose results point back to the
|
|
23
|
+
supporting files. Optional local semantic search helps when the words in a
|
|
24
|
+
question differ from the note; Git history connects the explanation to its
|
|
25
|
+
commits and accompanying code changes.
|
|
26
|
+
|
|
27
|
+
Use the CLI, local MCP server, or TypeScript SDK from your existing agent and
|
|
28
|
+
editor. The public Agent Skill teaches agents to recover context, maintain
|
|
29
|
+
plans, and leave reusable decisions for later sessions. Exact search, backlinks,
|
|
30
|
+
and Git history need no account or model. Every index rebuilds from files you
|
|
31
|
+
can read in Obsidian or any text editor. Wordcell is free and open source.
|
|
20
32
|
|
|
21
33
|
Web capture, optional hosted reranking, and your agent's provider reach other
|
|
22
34
|
services; [Privacy and boundaries](#privacy-and-boundaries) says what each one
|
|
@@ -54,14 +66,14 @@ Wordcell keeps the record in Markdown files you own, rebuilds every index from t
|
|
|
54
66
|
The CLI and TypeScript SDK run with Bun. Install the versioned GitHub archive:
|
|
55
67
|
|
|
56
68
|
```sh
|
|
57
|
-
bun add --global --ignore-scripts https://github.com/hraness/wordcell/releases/download/v0.26.
|
|
69
|
+
bun add --global --ignore-scripts https://github.com/hraness/wordcell/releases/download/v0.26.1/hraness-wordcell-0.26.1.tgz
|
|
58
70
|
wordcell --help
|
|
59
71
|
```
|
|
60
72
|
|
|
61
73
|
Prefer npm? The same release is [mirrored there](https://www.npmjs.com/package/@hraness/wordcell):
|
|
62
74
|
|
|
63
75
|
```sh
|
|
64
|
-
npm install --global --ignore-scripts @hraness/wordcell@0.26.
|
|
76
|
+
npm install --global --ignore-scripts @hraness/wordcell@0.26.1
|
|
65
77
|
wordcell --help
|
|
66
78
|
```
|
|
67
79
|
|
|
@@ -125,7 +137,7 @@ After trying the CLI, install the public Agent Skill into a compatible agent,
|
|
|
125
137
|
such as Claude Code, Codex, Cursor, or GitHub Copilot:
|
|
126
138
|
|
|
127
139
|
```sh
|
|
128
|
-
bunx skills add hraness/wordcell#v0.26.
|
|
140
|
+
bunx skills add hraness/wordcell#v0.26.1 --skill wordcell
|
|
129
141
|
```
|
|
130
142
|
|
|
131
143
|
Then ask:
|
|
@@ -336,7 +348,7 @@ exist. [Graph queries and proof limits](https://github.com/hraness/wordcell/blob
|
|
|
336
348
|
Add the same immutable release to a Bun project:
|
|
337
349
|
|
|
338
350
|
```sh
|
|
339
|
-
bun add --exact --ignore-scripts https://github.com/hraness/wordcell/releases/download/v0.26.
|
|
351
|
+
bun add --exact --ignore-scripts https://github.com/hraness/wordcell/releases/download/v0.26.1/hraness-wordcell-0.26.1.tgz
|
|
340
352
|
```
|
|
341
353
|
|
|
342
354
|
The SDK provides read-only vault sessions, metadata queries, search, graph
|
package/dist/cli-bin.js
CHANGED
|
@@ -409,12 +409,15 @@ function verifyAttestations(directory, manifest) {
|
|
|
409
409
|
}
|
|
410
410
|
var canonicalJobs = ["Authorize owner release tag", "Verify", "Attest verified artifact", "Publish"];
|
|
411
411
|
var npmJobs = ["Publish exact npm package", "Admit the public npm package"];
|
|
412
|
+
function releaseActor(actor) {
|
|
413
|
+
return actor.id === 894119 && actor.type === "User" || actor.id === 337004703 && actor.type === "Bot";
|
|
414
|
+
}
|
|
412
415
|
function canonicalRunIdentity(value, manifest, attempt) {
|
|
413
416
|
const run = record(value, "Canonical release run");
|
|
414
417
|
const owner = record(run.actor, "Canonical release actor");
|
|
415
418
|
const triggering = record(run.triggering_actor, "Canonical triggering actor");
|
|
416
419
|
const source = record(run.repository, "Canonical run repository");
|
|
417
|
-
if (run.id !== manifest.runId || run.run_attempt !== attempt || run.workflow_id !== 320004141 || run.name !== "Release" || run.path !== manifest.workflow || run.status !== "completed" || !["success", "failure"].includes(String(run.conclusion)) || run.event !== "push" || run.head_branch !== manifest.tag || run.head_sha !== manifest.sourceSha || owner
|
|
420
|
+
if (run.id !== manifest.runId || run.run_attempt !== attempt || run.workflow_id !== 320004141 || run.name !== "Release" || run.path !== manifest.workflow || run.status !== "completed" || !["success", "failure"].includes(String(run.conclusion)) || run.event !== "push" || run.head_branch !== manifest.tag || run.head_sha !== manifest.sourceSha || !releaseActor(owner) || !releaseActor(triggering) || source.id !== repositoryId || source.full_name !== repository || source.private !== false) {
|
|
418
421
|
throw new Error("Canonical release does not have the exact completed source and owner identity");
|
|
419
422
|
}
|
|
420
423
|
return run;
|
|
@@ -34,7 +34,7 @@ function wordcellUpdateOptions(bin, entrypoint, argv) {
|
|
|
34
34
|
effectFree,
|
|
35
35
|
suppressAutomatic: bin === "wordcell" && argv[0] === "support",
|
|
36
36
|
async verifyArtifact(artifact) {
|
|
37
|
-
const { verifyUpdateArtifact } = await import("./cli-release-
|
|
37
|
+
const { verifyUpdateArtifact } = await import("./cli-release-cf48w61z.js");
|
|
38
38
|
await verifyUpdateArtifact(artifact);
|
|
39
39
|
}
|
|
40
40
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hraness/wordcell",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.1",
|
|
4
4
|
"description": "Wordcell keeps decisions, plans, and sources as Markdown beside your code, so coding agents can find them from the file they are about to change.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/skills/wordcell/SKILL.md
CHANGED
|
@@ -58,7 +58,7 @@ missing:
|
|
|
58
58
|
```sh
|
|
59
59
|
command -v wordcell >/dev/null 2>&1 || {
|
|
60
60
|
command -v bun >/dev/null 2>&1 || exit 1
|
|
61
|
-
bun add --global --ignore-scripts https://github.com/hraness/wordcell/releases/download/v0.26.
|
|
61
|
+
bun add --global --ignore-scripts https://github.com/hraness/wordcell/releases/download/v0.26.1/hraness-wordcell-0.26.1.tgz
|
|
62
62
|
}
|
|
63
63
|
wordcell --help
|
|
64
64
|
```
|
package/src/cli-release.ts
CHANGED
|
@@ -397,6 +397,11 @@ export function verifyAttestations(directory: string, manifest: ReleaseManifest)
|
|
|
397
397
|
const canonicalJobs = ["Authorize owner release tag", "Verify", "Attest verified artifact", "Publish"];
|
|
398
398
|
const npmJobs = ["Publish exact npm package", "Admit the public npm package"];
|
|
399
399
|
|
|
400
|
+
// The owner, or the hraness-release-tagger App bot that tags version bumps on main.
|
|
401
|
+
function releaseActor(actor: Record<string, unknown>): boolean {
|
|
402
|
+
return (actor.id === 894119 && actor.type === "User") || (actor.id === 337004703 && actor.type === "Bot");
|
|
403
|
+
}
|
|
404
|
+
|
|
400
405
|
function canonicalRunIdentity(value: unknown, manifest: ReleaseManifest, attempt: number): Record<string, unknown> {
|
|
401
406
|
const run = record(value, "Canonical release run");
|
|
402
407
|
const owner = record(run.actor, "Canonical release actor");
|
|
@@ -406,7 +411,7 @@ function canonicalRunIdentity(value: unknown, manifest: ReleaseManifest, attempt
|
|
|
406
411
|
|| run.workflow_id !== 320004141 || run.name !== "Release" || run.path !== manifest.workflow
|
|
407
412
|
|| run.status !== "completed" || !["success", "failure"].includes(String(run.conclusion)) || run.event !== "push"
|
|
408
413
|
|| run.head_branch !== manifest.tag || run.head_sha !== manifest.sourceSha
|
|
409
|
-
|| owner
|
|
414
|
+
|| !releaseActor(owner) || !releaseActor(triggering)
|
|
410
415
|
|| source.id !== repositoryId || source.full_name !== repository || source.private !== false) {
|
|
411
416
|
throw new Error("Canonical release does not have the exact completed source and owner identity");
|
|
412
417
|
}
|