Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions docs/ci-lokal.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,49 @@ Der Release-*Build* selbst ist lokal machbar (`npx tauri build`,
`release.yml`; es nach `scripts/` auszulagern ist ein offener Punkt (in dieser
Umgebung stand kein pwsh zur Verfügung, um die Auslagerung zu belegen).

## Was „grün" für W3-08 nicht belegt: der installierte HQ-v1-Stand

Die Gates oben belegen den **Quelltext**. Ob die *tatsächlich laufende,
installierte* App HQ v1 spricht, ist eine andere Frage (Paket W3-08 in
`docs/PLAN.md`, Stand: offen). Quelle, Installer-Inhalt oder Konfiguration
allein schließen sie nicht — W3-08 gilt aus diesen Quellen nie als erledigt.

Der spätere Beleg braucht alle vier Teile zugleich:

1. **Welche Datei läuft wirklich?** Die tatsächlich laufende, installierte
ausführbare Datei, samt Bindung an das Artefakt bzw. den Build-Commit.
2. **HQ v1 antwortet.** Das Control-API der laufenden App ist erreichbar und
spricht HQ v1.
3. **`manifest.state == matched`**, ausdrücklich — gegen den Checkout *an
diesem Build-Commit*. Der Befehl vergleicht den SHA-256 der eingebetteten
`agent-defaults.json` (LF-normalisiert) mit dem der Laufzeit.
4. Alle drei beziehen sich auf **denselben** Build.

Befehle für diesen späteren Beleg (nur lesend; hier **nicht** ausgeführt, die
App wird dafür nicht gestartet — das sind Anweisungen, keine Beobachtungen):

```sh
npm run dev:doctor -- --json # ohne --apply; Zeile "runtime" lesen
pa hq runtime # profilesPath, capabilities, provenance.builtinManifestSha256
```
Comment on lines +160 to +163

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Binde den Beleg an die installierte ausführbare Datei

Wenn ein Entwicklungsbuild oder eine andere Installation dieselbe agent-defaults.json enthält, liefern diese Befehle HQ v1 und manifest.state: matched, obwohl weder dev:doctor noch pa hq runtime den Prozesspfad oder Hash der laufenden EXE erfasst. Damit lassen sich die unmittelbar zuvor geforderten Punkte 1 und 4 nicht nachweisen, und W3-08 könnte gegen das falsche Binary abgenommen werden. Ergänze einen beobachteten Prozesspfad/EXE-Hash samt Bindung an Paketartefakt oder Build-Commit und stelle sicher, dass beide Befehle denselben Descriptor verwenden.

AGENTS.md reference: AGENTS.md:L40-L43

Useful? React with 👍 / 👎.


Fallstricke, jeweils belegt durch den Quelltext:

- `runtime.state: ok` kann mit `manifest.state: unavailable` zusammen
auftreten (kein Vergleichswert). Erreichbarkeit („runtime bereit") ist daher
**kein** Beleg; verlangt wird `matched`, nicht bloß „ok".
- Das Manifest ist ein Fingerabdruck der *ausgelieferten Standardprofile*. Es
ist keine Anbieter-Bestätigung und sagt nichts über Modell, Effort oder
Zugangsdaten.
- Das Manifest des `native-package` ist etwas anderes: die signierte
Nutzlast-Identität von `native-capture`, nicht die HQ-`agent-defaults`.
- Eine MSI-Inventur mit `installed: false` / `payloadBytesVerified: false`
belegt nur die Dateitabelle. MSI-Hash und Exe-Hash sind verschiedene Objekte;
dass beide existieren (oder eine Reparatur lief), ist keine Bindung.
- Die Bahn öffnet keine neue Voraussetzung: kein Produktions-Signing (R-1).
Der Produktionsschlüssel (W3-07) bleibt eine spätere Entscheidung des
Nutzers; Installieren und Release sind je eine eigene Nutzerentscheidung.

## Wenn ein Gate rot ist

`gates.sh` bricht wie ein CI-Schritt beim ersten roten Gate ab, nennt den
Expand Down
25 changes: 25 additions & 0 deletions docs/dev-hq/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,31 @@ readiness marker). An unrelated id gets the cautious defaults. The optional
fields. Enable/disable stays with the desktop app's settings — the HQ proxy
deliberately does not write the live database.

## What the agent-facing HQ queries do and do not prove

Consumers are `pa hq runtime`, `pa hq context --project <id>` and the
changes-only cursor pages (`pa hq changes --project <id>`). Read their output
within these limits:

- **`pa hq runtime`** reports the profiles and capabilities as *configured*.
Its compiled-default `provenance.builtinManifestSha256` is a valid, limited byte
fingerprint of the shipped `agent-defaults.json` (LF-normalised SHA-256). It
is not proof of the whole Git SHA, the model, the effort or any credential,
and not a provider attestation. Comparing it with the local checkout is the
`manifest` row of `npm run dev:doctor -- --json`; the full installed-build
proof path is in `docs/ci-lokal.md` (W3-08).
- **`pa hq context --project <id>`** and the cursor pages answer a
project-filtered query. Do not infer credential scope from the project
filter; this document makes no claim about a RunCredential context
permission (`agent_access` was not read).
- **Freshness.** `snapshot.commit` and `snapshot.run` may be `null`.
`snapshot.sourceTimestamp` can be the journal or read time (a fallback), so
a timestamp alone does not prove a fresh checkout.
- **Cursors.** A future cursor, or an empty page with `hasMore: false`, does
not by itself prove the journal head or epoch.
- **Host numbers.** `HostAdmission.activeClaims` and the memory figures are
host-wide, not per project.

## Setup helper

The Live view opens with a **Setup helper** that checks this machine: Node,
Expand Down
Loading