You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"summary": "Update the CLI and MCP surface for the current log-node API.",
10
+
"reason": "The public log API added proof recovery, signed-note vkey publication, JSON Feed, and SSE stream endpoints after this generated CLI was first published. POST /v1/entries also now accepts a bare signed atrib record and returns a proof bundle.",
11
+
"files": [
12
+
"spec.yaml",
13
+
"README.md",
14
+
"SKILL.md",
15
+
"internal/cli/promoted_entries.go",
16
+
"internal/cli/promoted_feed-json.go",
17
+
"internal/cli/promoted_log-pubkey.go",
18
+
"internal/cli/promoted_proof.go",
19
+
"internal/cli/promoted_stream.go",
20
+
"internal/cli/root.go",
21
+
"internal/cli/which.go",
22
+
"internal/mcp/tools.go",
23
+
".printing-press.json"
24
+
],
25
+
"validated_outcome": "Dry-run generation parsed 13 resources and 14 endpoints. Local tests and live smoke checks cover the finite endpoints and SSE ready event."
26
+
},
27
+
{
28
+
"id": "api-promoted-endpoints",
29
+
"summary": "Make api discovery list promoted endpoint commands.",
30
+
"reason": "The generated api command only listed hidden resource parents, so it missed top-level promoted endpoints such as checkpoint, pubkey, recent, and stats.",
31
+
"files": [
32
+
"internal/cli/api_discovery.go"
33
+
],
34
+
"validated_outcome": "atrib-log-pp-cli api lists promoted endpoints as interfaces."
Copy file name to clipboardExpand all lines: README.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# atrib-log-pp-cli
2
2
3
-
Developer CLI for the [atrib](https://github.com/creatornader/atrib) transparency log at `log.atrib.dev`. Wraps the public log API (signed checkpoint, recent entries, lookup by hash, by context, by creator, Merkle tile retrieval) with local SQLite mirroring, full-text search, and agent-friendly defaults.
3
+
Developer CLI for the [atrib](https://github.com/creatornader/atrib) transparency log at `log.atrib.dev`. Wraps the public log API (signed checkpoint, log public keys, stats, recent entries, lookup by hash, inclusion-proof recovery, by context, by creator, JSON Feed, SSE stream, Merkle tile retrieval) with local SQLite mirroring, full-text search, and agent-friendly defaults.
4
4
5
5
Generated by [Printing Press](https://github.com/mvanhorn/cli-printing-press) from a hand-authored OpenAPI spec for `log.atrib.dev`.
6
6
7
7
## What this is and isn't
8
8
9
9
**This is** the developer-facing CLI for direct interaction with `log.atrib.dev`. Use it for batch queries, verification, debugging, dogfooding the public log API, and one-off "show me the last N entries by signer X" type questions.
10
10
11
-
**This is NOT** a replacement for the [`@atrib/*`](https://github.com/creatornader/atrib) MCP cognitive primitives (`emit`, `annotate`, `revise`, `recall`, `trace`, `summarize`). Those are the agent-facing surface, designed around the 6 verbs an agent reasons in. This CLI is the operator-facing surface, designed around the HTTP API endpoints. They are complementary:
11
+
**This is NOT** a replacement for the [`@atrib/*`](https://github.com/creatornader/atrib) MCP cognitive primitives (`emit`, `annotate`, `revise`, `recall`, `trace`, `summarize`, `verify`). Those are the agent-facing surface, designed around the seven primitives an agent reasons in. This CLI is the operator-facing surface, designed around the HTTP API endpoints. They are complementary:
12
12
13
13
- Agent doing cognitive work → use the MCP primitives
14
14
- Human or script interacting with the log → use this CLI
@@ -37,11 +37,15 @@ The binary lands in `$GOPATH/bin` (typically `~/go/bin/`). Ensure that's on your
@@ -77,7 +81,7 @@ Configure in Claude Desktop's `claude_desktop_config.json`:
77
81
}
78
82
```
79
83
80
-
The MCP server exposes the same command surface as the CLI. Note: for *agent cognitive work* (emitting signed records, recalling past actions, etc.), the [`@atrib/*`](https://github.com/creatornader/atrib) MCP servers are the right surface, not this one.
84
+
The MCP server exposes the same finite command surface as the CLI. The raw SSE stream command stays CLI-only because MCP tool calls expect a bounded response. Note: for *agent cognitive work* (emitting signed records, recalling past actions, etc.), the [`@atrib/*`](https://github.com/creatornader/atrib) MCP servers are the right surface, not this one.
Copy file name to clipboardExpand all lines: SKILL.md
+48-31Lines changed: 48 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: pp-atrib-log
3
-
description: "Printing Press CLI for Atrib Log. atrib transparency log — Sigsum-style append-only Merkle log of signed agent action records. Each entry is a..."
3
+
description: "Printing Press CLI for Atrib Log. atrib transparency log - Sigsum-style append-only Merkle log of signed agent action records. Each entry is a..."
@@ -29,48 +29,65 @@ If the `npx` install fails before this CLI has a public-library category, instal
29
29
30
30
If `--version` reports "command not found" after install, the install step did not put the binary on `$PATH`. Do not proceed with skill commands until verification succeeds.
31
31
32
-
atrib transparency log — Sigsum-style append-only Merkle log of signed
32
+
atrib transparency log - Sigsum-style append-only Merkle log of signed
33
33
agent action records. Each entry is a cryptographically signed record
34
-
of an LLM agent action (tool call, observation, annotation, revision).
34
+
of an LLM agent action (tool call, transaction, observation, annotation,
35
+
revision, or directory anchor).
35
36
36
37
## Command Reference
37
38
38
-
**by-context**— Manage by context
39
+
**by-context**- Manage by context
39
40
40
-
-`atrib-log-pp-cli by-context <hex>`— All entries in a context (session)
41
+
-`atrib-log-pp-cli by-context <hex>`- All entries in a context (session)
41
42
42
-
**by-creator**— Manage by creator
43
+
**by-creator**- Manage by creator
43
44
44
-
-`atrib-log-pp-cli by-creator <key>`— All entries by signer (creator key)
45
+
-`atrib-log-pp-cli by-creator <key>`- All entries by signer (creator key)
45
46
46
-
**checkpoint**— Manage checkpoint
47
+
**checkpoint**- Manage checkpoint
47
48
48
-
-`atrib-log-pp-cli checkpoint`— Returns the current signed checkpoint (tree size + root hash + log signature). Use this to anchor your local view of...
49
+
-`atrib-log-pp-cli checkpoint`- Returns the current signed checkpoint (tree size + root hash + log signature). Use this to anchor your local view of...
49
50
50
-
**entries**— Manage entries
51
+
**entries**- Manage entries
51
52
52
-
-`atrib-log-pp-cli entries`— Write path. Submit a signed record for inclusion in the log. Returns the assigned index + record_hash on success.
53
+
-`atrib-log-pp-cli entries`- Write path. Submit a signed record for inclusion in the log. Returns an inclusion-proof bundle on success.
53
54
54
-
**lookup**— Manage lookup
55
+
**feed-json**- Manage JSON Feed
55
56
56
-
-`atrib-log-pp-cli lookup <hex>` — Lookup entry by record hash
-`atrib-log-pp-cli pubkey`— Get verification public key
61
+
-`atrib-log-pp-cli log-pubkey`- Get the log public key in signed-note vkey format.
61
62
62
-
**recent**— Manage recent
63
+
**lookup**- Manage lookup
63
64
64
-
-`atrib-log-pp-cli recent` — Most recent entries
65
+
-`atrib-log-pp-cli lookup <hex>` - Lookup entry by record hash
65
66
66
-
**stats**— Manage stats
67
+
**proof**- Manage proof recovery
67
68
68
-
-`atrib-log-pp-cli stats` — Tree statistics
69
+
-`atrib-log-pp-cli proof <hex>` - Recover an inclusion-proof bundle for a record already in the log.
69
70
70
-
**tile**— Manage tile
71
+
**pubkey**- Manage pubkey
71
72
72
-
-`atrib-log-pp-cli tile get` — Sigsum-style Merkle tile at level L, position N
73
-
-`atrib-log-pp-cli tile get-entries` — Get entries within a tile (leaf-level)
73
+
-`atrib-log-pp-cli pubkey` - Get verification public key
74
+
75
+
**recent** - Manage recent
76
+
77
+
-`atrib-log-pp-cli recent` - Most recent entries
78
+
79
+
**stats** - Manage stats
80
+
81
+
-`atrib-log-pp-cli stats` - Tree statistics
82
+
83
+
**stream** - Manage SSE stream
84
+
85
+
-`atrib-log-pp-cli stream` - Stream new decoded log entries as raw Server-Sent Events.
86
+
87
+
**tile** - Manage tile
88
+
89
+
-`atrib-log-pp-cli tile get` - Sigsum-style Merkle tile at level L, position N
90
+
-`atrib-log-pp-cli tile get-entries` - Get entries within a tile (leaf-level)
74
91
75
92
76
93
### Finding the right command
@@ -81,7 +98,7 @@ When you know what you want to do but not which command does it, ask the CLI dir
81
98
atrib-log-pp-cli which "<capability in your own words>"
82
99
```
83
100
84
-
`which` resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code `0` means at least one match; exit code `2` means no confident match — fall back to `--help` or use a narrower query.
101
+
`which` resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code `0` means at least one match; exit code `2` means no confident match - fall back to `--help` or use a narrower query.
85
102
86
103
## Auth Setup
87
104
@@ -93,16 +110,16 @@ Run `atrib-log-pp-cli doctor` to verify setup.
93
110
94
111
Add `--agent` to any command. Expands to: `--json --compact --no-input --no-color --yes`.
95
112
96
-
-**Pipeable**— JSON on stdout, errors on stderr
97
-
-**Filterable**—`--select` keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
113
+
-**Pipeable**- JSON on stdout, errors on stderr
114
+
-**Filterable**-`--select` keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
-**Previewable**—`--dry-run` shows the request without sending
103
-
-**Offline-friendly**— sync/search commands can use the local SQLite store when available
104
-
-**Non-interactive**— never prompts, every input is a flag
105
-
-**Explicit retries**— use `--idempotent` only when an already-existing create should count as success
119
+
-**Previewable**-`--dry-run` shows the request without sending
120
+
-**Offline-friendly**- sync/search commands can use the local SQLite store when available
121
+
-**Non-interactive**- never prompts, every input is a flag
122
+
-**Explicit retries**- use `--idempotent` only when an already-existing create should count as success
106
123
107
124
### Response envelope
108
125
@@ -115,7 +132,7 @@ Commands that read from the local store or the API wrap output in a provenance e
115
132
}
116
133
```
117
134
118
-
Parse `.results` for data and `.meta.source` to know whether it's live or local. A human-readable `N results (live)` summary is printed to stderr only when stdout is a terminal AND no machine-format flag (`--json`, `--csv`, `--compact`, `--quiet`, `--plain`, `--select`) is set — piped/agent consumers and explicit-format runs get pure JSON on stdout.
135
+
Parse `.results` for data and `.meta.source` to know whether it's live or local. A human-readable `N results (live)` summary is printed to stderr only when stdout is a terminal AND no machine-format flag (`--json`, `--csv`, `--compact`, `--quiet`, `--plain`, `--select`) is set - piped/agent consumers and explicit-format runs get pure JSON on stdout.
0 commit comments