aperta-cli 1.0.0-beta.2 → 1.0.0-beta.3
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 +59 -36
- package/dashboard/dist/assets/index-GUF8oKgT.js +23 -0
- package/dashboard/dist/assets/index-sPVDvMWT.css +1 -0
- package/dashboard/dist/index.html +4 -4
- package/dist-cli/src/agent-harness.js +53 -138
- package/dist-cli/src/agent-harness.js.map +1 -1
- package/dist-cli/src/agent-runtime.js +147 -0
- package/dist-cli/src/agent-runtime.js.map +1 -0
- package/dist-cli/src/capture.js +4 -6
- package/dist-cli/src/capture.js.map +1 -1
- package/dist-cli/src/cli.js +2 -2
- package/dist-cli/src/cli.js.map +1 -1
- package/dist-cli/src/dashboard-data.js +13 -4
- package/dist-cli/src/dashboard-data.js.map +1 -1
- package/dist-cli/src/dashboard-server.js +87 -21
- package/dist-cli/src/dashboard-server.js.map +1 -1
- package/dist-cli/src/harness-intelligence.js +3 -2
- package/dist-cli/src/harness-intelligence.js.map +1 -1
- package/dist-cli/src/ledger.js +61 -2
- package/dist-cli/src/ledger.js.map +1 -1
- package/dist-cli/src/ownership-dossier.js +154 -0
- package/dist-cli/src/ownership-dossier.js.map +1 -0
- package/dist-cli/src/proof-graph.js +71 -6
- package/dist-cli/src/proof-graph.js.map +1 -1
- package/dist-cli/src/settings.js +28 -37
- package/dist-cli/src/settings.js.map +1 -1
- package/dist-cli/src/skills.js +8 -1
- package/dist-cli/src/skills.js.map +1 -1
- package/package.json +3 -2
- package/dashboard/dist/assets/index-BIU9XLtE.css +0 -1
- package/dashboard/dist/assets/index-DHF2W8ef.js +0 -11
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<h1 align="center">Aperta</h1>
|
|
2
2
|
|
|
3
|
-
<p align="center"><strong>
|
|
3
|
+
<p align="center"><strong>Own the code AI writes.</strong></p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
Aperta captures each code change, runs project checks, connects claims to
|
|
7
|
+
evidence, and helps you explain the result before it reaches your main branch.
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
@@ -25,20 +25,19 @@
|
|
|
25
25
|
> **Public beta:** Aperta is ready for evaluation on real local projects. Its
|
|
26
26
|
> interfaces and evidence schema may evolve before the first stable release.
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## AI can write the patch. You still own the result.
|
|
29
29
|
|
|
30
30
|
AI agents can produce a convincing patch in minutes. They do not automatically
|
|
31
31
|
give a maintainer the evidence or understanding needed to safely own that patch
|
|
32
32
|
for years.
|
|
33
33
|
|
|
34
|
-
Aperta closes that gap. It is a
|
|
35
|
-
learning system that:
|
|
34
|
+
Aperta closes that gap. It is a local review and learning system that:
|
|
36
35
|
|
|
37
36
|
- captures staged, unstaged, untracked, human, and agent-authored changes;
|
|
38
37
|
- runs agent work in disposable Git worktrees instead of your live repository;
|
|
39
38
|
- verifies results with project checks, runtime observations, and bounded probes;
|
|
40
39
|
- connects claims, code, tests, actions, and human understanding in a Proof Graph;
|
|
41
|
-
- turns risky changes into focused ownership
|
|
40
|
+
- turns risky changes into focused ownership reviews and scheduled recall; and
|
|
42
41
|
- keeps private developer memory outside the repository by default.
|
|
43
42
|
|
|
44
43
|
**Aperta does not grade prose or pretend an LLM can certify understanding.** It
|
|
@@ -46,7 +45,7 @@ records evidence, exposes uncertainty, and leaves the final judgment with the
|
|
|
46
45
|
person responsible for the software.
|
|
47
46
|
|
|
48
47
|
If that is the future you want for AI-assisted development, consider starring
|
|
49
|
-
the repository
|
|
48
|
+
the repository. It helps other builders find the project.
|
|
50
49
|
|
|
51
50
|
## Try it in 60 seconds
|
|
52
51
|
|
|
@@ -62,8 +61,8 @@ aperta dashboard
|
|
|
62
61
|
```
|
|
63
62
|
|
|
64
63
|
`aperta init` starts the local observer. The dashboard opens a repository
|
|
65
|
-
workspace containing
|
|
66
|
-
Graph,
|
|
64
|
+
workspace containing Agent Work, Git Changes, Changes to Review, the Proof
|
|
65
|
+
Graph, Review Notes, and Agent Reliability.
|
|
67
66
|
|
|
68
67
|
Run an existing coding agent through Aperta:
|
|
69
68
|
|
|
@@ -71,7 +70,7 @@ Run an existing coding agent through Aperta:
|
|
|
71
70
|
aperta run --intent "Add passwordless login" -- opencode
|
|
72
71
|
```
|
|
73
72
|
|
|
74
|
-
Or use Aperta Native from
|
|
73
|
+
Or use Aperta Native from Agent Work. The patch remains isolated until
|
|
75
74
|
you review its changes and evidence and explicitly promote it.
|
|
76
75
|
|
|
77
76
|
## The trust and learning loop
|
|
@@ -96,16 +95,16 @@ useful evidence while making stale certainty visible.
|
|
|
96
95
|
| --- | --- | --- |
|
|
97
96
|
| Primary goal | Produce a plausible answer or patch | Produce reviewable code, proof, and understanding |
|
|
98
97
|
| Workspace | Often edits the live tree | Uses a disposable Git worktree until promotion |
|
|
99
|
-
| Verification | Agent reports success |
|
|
98
|
+
| Verification | Agent reports success | Aperta runs deterministic checks and captures output |
|
|
100
99
|
| Trust | Model evaluates its own work | Aperta owns the promotion gate and evidence model |
|
|
101
|
-
| Memory | Conversation history | Local repository evidence and a
|
|
102
|
-
| Learning | Incidental |
|
|
100
|
+
| Memory | Conversation history | Local repository evidence and a Proof Graph |
|
|
101
|
+
| Learning | Incidental | Changes to Review, Review Again, and saved notes |
|
|
103
102
|
| Provider choice | Commonly coupled to one vendor | Model- and runtime-neutral |
|
|
104
103
|
| Privacy | Often cloud-first | Private per-user storage outside Git |
|
|
105
104
|
|
|
106
105
|
## What you get
|
|
107
106
|
|
|
108
|
-
###
|
|
107
|
+
### Agent work you can review
|
|
109
108
|
|
|
110
109
|
Persistent, multi-turn agent conversations with plans, bounded tools, readable
|
|
111
110
|
activity, syntax-highlighted responses, isolated patches, checks, repair loops,
|
|
@@ -117,26 +116,43 @@ Aperta observes stable Git-visible changes regardless of whether they came from
|
|
|
117
116
|
a human, editor, script, or agent. Attribution adds evidence; it is never a
|
|
118
117
|
requirement for review.
|
|
119
118
|
|
|
120
|
-
###
|
|
119
|
+
### Living Ownership Graph
|
|
121
120
|
|
|
122
|
-
The graph connects behavior claims to
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
**supported**, **unproven**, **stale**, or **regressed**.
|
|
121
|
+
The graph connects behavior claims to code, tests, runtime observations,
|
|
122
|
+
agent actions, and human defenses. It shows which changes have executable proof,
|
|
123
|
+
which ones an engineer can defend, and which evidence needs another look.
|
|
126
124
|
|
|
127
|
-
|
|
125
|
+
The default view is a short, searchable list of records that need attention.
|
|
126
|
+
Repeated captures roll up into the latest current record instead of filling the
|
|
127
|
+
screen, while the complete append-only revision history remains available.
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
grounded in the actual diff. Completed sessions enter the Learning Journal and
|
|
132
|
-
return through Learn Next after one, three, or seven days—or immediately when
|
|
133
|
-
connected code changes again.
|
|
129
|
+
Each captured change also gets an Ownership Record. The record keeps the
|
|
130
|
+
change, its revision, evidence, open questions, and engineer defense in one place.
|
|
134
131
|
|
|
135
|
-
###
|
|
132
|
+
### Defend each change
|
|
136
133
|
|
|
137
|
-
|
|
134
|
+
Changes to Review turns a captured change into a risk-ranked summary. Ownership
|
|
135
|
+
reviews ask you to trace the code path, test a failure mode, locate evidence, and
|
|
136
|
+
state what you still do not know. Aperta records your answers. It does not let a
|
|
137
|
+
model certify your understanding.
|
|
138
|
+
|
|
139
|
+
Project-private review filters can hide path noise from this queue with validated
|
|
140
|
+
regular expressions without removing those files from capture, history, or evidence.
|
|
141
|
+
Completed reviews enter Review Notes and return through Review Again after one,
|
|
142
|
+
three, or seven days. They return sooner when connected code changes.
|
|
143
|
+
|
|
144
|
+
### Publish what the evidence supports
|
|
145
|
+
|
|
146
|
+
Download a cited change brief from any Ownership Record. The brief includes the
|
|
147
|
+
captured revision, code and test sources, executable proof, the engineer defense,
|
|
148
|
+
and open questions. A stale record produces a stale brief, so polished writing
|
|
149
|
+
never hides outdated evidence.
|
|
150
|
+
|
|
151
|
+
### Agent reliability
|
|
152
|
+
|
|
153
|
+
Agent Reliability measures first-pass verification, repair recovery, tool
|
|
138
154
|
reliability, promotion rate, provider latency, structured error classes, and an
|
|
139
|
-
approximate Trusted Keep Rate.
|
|
155
|
+
approximate Trusted Keep Rate. Aperta defects stay separate from model,
|
|
140
156
|
tool, and project failures.
|
|
141
157
|
|
|
142
158
|
## Models reason. Runtimes execute. Aperta owns trust.
|
|
@@ -146,12 +162,19 @@ Aperta intentionally separates these responsibilities:
|
|
|
146
162
|
| Layer | Responsibility | Current support |
|
|
147
163
|
| --- | --- | --- |
|
|
148
164
|
| **Model APIs** | Planning, reasoning, explanation, coaching | OpenAI, Anthropic, Google Gemini, DeepSeek, OpenRouter, Groq, Ollama, LM Studio, OpenAI-compatible endpoints |
|
|
149
|
-
| **Agent runtimes** | Repository inspection, edits, and tool execution | Aperta Native, Claude Code, OpenCode
|
|
150
|
-
| **Aperta** | Skill selection, capabilities, isolation, verification, promotion, evidence, and learning |
|
|
165
|
+
| **Agent runtimes** | Repository inspection, edits, and tool execution | Aperta Native, Codex CLI, Claude Code, OpenCode; Cursor is discoverable but structured execution is not yet supported |
|
|
166
|
+
| **Aperta** | Skill selection, capabilities, isolation, verification, promotion, evidence, and learning | Local trust and evidence layer |
|
|
151
167
|
|
|
152
168
|
Changing the model or runtime never gives it authority to declare its own work
|
|
153
169
|
correct, proven, or understood.
|
|
154
170
|
|
|
171
|
+
External CLI mechanics are provided by `@vraxis/agent-v`: runtime discovery,
|
|
172
|
+
bounded readiness probes, structured execution, normalized failures, and run
|
|
173
|
+
provenance. Aperta still owns the product-specific safety boundary: skill
|
|
174
|
+
selection, disposable worktrees, checks, evidence, human review, and promotion.
|
|
175
|
+
An installed CLI is not shown as ready until its explicit probe succeeds, and
|
|
176
|
+
every external run records the runtime version and adapter strategy used.
|
|
177
|
+
|
|
155
178
|
## Private by architecture
|
|
156
179
|
|
|
157
180
|
The repository stores only a non-sensitive identity pointer:
|
|
@@ -182,7 +205,7 @@ an analytics service.
|
|
|
182
205
|
|
|
183
206
|
## Safety boundaries
|
|
184
207
|
|
|
185
|
-
|
|
208
|
+
Agent Work has strict safety limits:
|
|
186
209
|
|
|
187
210
|
- agent edits occur in a disposable Git worktree;
|
|
188
211
|
- ignored files, credential-bearing files, `.git`, and `.comprehension` are blocked;
|
|
@@ -195,7 +218,7 @@ The Agent Workbench is intentionally bounded:
|
|
|
195
218
|
- promotion fails if the real repository changed after the run began.
|
|
196
219
|
|
|
197
220
|
Aperta currently caps a native implementation run at 48 actions, 20 writes,
|
|
198
|
-
300 KB per file, and 1 MB of total writes. These constraints are
|
|
221
|
+
300 KB per file, and 1 MB of total writes. These constraints are Aperta policy,
|
|
199
222
|
not suggestions sent to the model.
|
|
200
223
|
|
|
201
224
|
Read [SECURITY.md](SECURITY.md) before using Aperta with a shared or sensitive
|
|
@@ -243,7 +266,7 @@ export APERTA_AI_PROVIDER="deepseek" # or openrouter / groq
|
|
|
243
266
|
export DEEPSEEK_API_KEY="..."
|
|
244
267
|
export APERTA_AI_MODEL="your-model-id"
|
|
245
268
|
|
|
246
|
-
# Local Ollama
|
|
269
|
+
# Local Ollama: no API key required
|
|
247
270
|
export APERTA_AI_PROVIDER="ollama"
|
|
248
271
|
export APERTA_AI_MODEL="qwen2.5-coder"
|
|
249
272
|
|
|
@@ -295,12 +318,12 @@ npm run build:marketing
|
|
|
295
318
|
|
|
296
319
|
## Built for builders who want to remain responsible
|
|
297
320
|
|
|
298
|
-
Aperta is for developers and teams who want the
|
|
321
|
+
Aperta is for developers and teams who want the speed of coding agents
|
|
299
322
|
without surrendering the ability to explain, verify, maintain, and improve the
|
|
300
323
|
software those agents help create.
|
|
301
324
|
|
|
302
325
|
- Found a bug or rough edge? [Open an issue](https://github.com/Vequan23/aperta/issues).
|
|
303
|
-
- Have an idea for the
|
|
326
|
+
- Have an idea for the agent runtime or learning loop? Start a discussion in an issue.
|
|
304
327
|
- Want to contribute? Read [CONTRIBUTING.md](CONTRIBUTING.md) and the
|
|
305
328
|
[Code of Conduct](CODE_OF_CONDUCT.md).
|
|
306
329
|
- Want to help the project travel? **Star the repository and share the
|