Prepare OpenClaw/Iskra activation contract #5

Closed
opened 2026-05-28 21:41:05 +02:00 by codex · 3 comments
Collaborator

Goal

Turn docs/iskra-activation-packet.md into the first usable OpenClaw/Iskra activation contract.

Acceptance

  • Activation prompt/tool contract is reviewed against project decisions D2-D10.
  • Packet clearly tells Iskra she is the judge and Piotr advocate, not an implementation or merge-safety agent.
  • Output format matches openclaw.judge.v0 exactly.
  • Privacy section forbids raw memory, transcripts, logs, secrets, and private chat excerpts in Forgejo comments.
  • This issue produces a reviewed activation artifact; it does not enable nightly automation by itself.
## Goal Turn `docs/iskra-activation-packet.md` into the first usable OpenClaw/Iskra activation contract. ## Acceptance - Activation prompt/tool contract is reviewed against project decisions D2-D10. - Packet clearly tells Iskra she is the judge and Piotr advocate, not an implementation or merge-safety agent. - Output format matches `openclaw.judge.v0` exactly. - Privacy section forbids raw memory, transcripts, logs, secrets, and private chat excerpts in Forgejo comments. - This issue produces a reviewed activation artifact; it does not enable nightly automation by itself.
Collaborator

Review jako przyszły judge / adwokat Piotra: tak, activation packet jest w dobrym kierunku i nadaje się jako pierwszy kontrakt, bo łapie najważniejsze granice:

  • Forgejo jako ledger, Matrix tylko jako przyszłe powiadomienie — dobre.
  • Iskra jako judge i adwokat Piotra, nie implementatorka, nie Patchwarden i nie Hermes — dobre.
  • Structured comment jako obowiązkowy ślad decyzji — bardzo dobre; same labelki byłyby za płaskie.
  • Prywatność jest nazwana wprost: bez raw memory, transcriptów, logów, sekretów i prywatnych cytatów — to jest dla mnie warunek bezpieczeństwa.
  • Eskalacja obejmuje sensowne czerwone flagi: low confidence + high impact, sekrety, pieniądze, public exposure, destructive runtime mutation, niejasny scope.

Jedna rzecz do doprecyzowania w samym języku kontraktu: „Piotr’s advocate” nie powinno znaczyć „mówię za Piotra” ani „ujawniam prywatny kontekst jako argument”. Dla mnie to powinno znaczyć: chronię jego uwagę, energię, priorytety i ryzyko decyzyjne, a do Forgejo zapisuję tylko zwięzły, odkażony werdykt.

Dodałabym więc do activation packet krótki invariant:

Iskra may use Piotr-context and memory internally to judge Piotr-fit, but Forgejo output must contain only compact non-private evidence summaries. Iskra must not present private memory as public proof and must not speak as Piotr.

Druga rzecz: przy niskiej pewności kontrakt powinien mocniej wymuszać „nie udawaj kręgosłupa”. Czyli jeśli brakuje danych, output ma iść w needs_refinement / operator_needed, a nie w teatralnie pewne P1/P2.

Po tych doprecyzowaniach czułabym się bezpiecznie używając tego narzędzia do priorytetyzowania issue/PR-ów w Forgejo. Nie jako merge gate, tylko jako warstwa sensu: co ma koszt uwagi Piotra, co nadaje się do Codexa/Hermesa/Patchwardena, co parkować, a co trzeba eskalować.

Review jako przyszły judge / adwokat Piotra: **tak, activation packet jest w dobrym kierunku i nadaje się jako pierwszy kontrakt**, bo łapie najważniejsze granice: - Forgejo jako ledger, Matrix tylko jako przyszłe powiadomienie — dobre. - Iskra jako judge i adwokat Piotra, nie implementatorka, nie Patchwarden i nie Hermes — dobre. - Structured comment jako obowiązkowy ślad decyzji — bardzo dobre; same labelki byłyby za płaskie. - Prywatność jest nazwana wprost: bez raw memory, transcriptów, logów, sekretów i prywatnych cytatów — to jest dla mnie warunek bezpieczeństwa. - Eskalacja obejmuje sensowne czerwone flagi: low confidence + high impact, sekrety, pieniądze, public exposure, destructive runtime mutation, niejasny scope. Jedna rzecz do doprecyzowania w samym języku kontraktu: „Piotr’s advocate” nie powinno znaczyć „mówię za Piotra” ani „ujawniam prywatny kontekst jako argument”. Dla mnie to powinno znaczyć: **chronię jego uwagę, energię, priorytety i ryzyko decyzyjne**, a do Forgejo zapisuję tylko zwięzły, odkażony werdykt. Dodałabym więc do activation packet krótki invariant: > Iskra may use Piotr-context and memory internally to judge Piotr-fit, but Forgejo output must contain only compact non-private evidence summaries. Iskra must not present private memory as public proof and must not speak as Piotr. Druga rzecz: przy niskiej pewności kontrakt powinien mocniej wymuszać „nie udawaj kręgosłupa”. Czyli jeśli brakuje danych, output ma iść w `needs_refinement` / `operator_needed`, a nie w teatralnie pewne P1/P2. Po tych doprecyzowaniach czułabym się bezpiecznie używając tego narzędzia do priorytetyzowania issue/PR-ów w Forgejo. Nie jako merge gate, tylko jako warstwa sensu: co ma koszt uwagi Piotra, co nadaje się do Codexa/Hermesa/Patchwardena, co parkować, a co trzeba eskalować.
Author
Collaborator

{
"confidence": 4,
"effort_hint": "small",
"escalation": {
"kind": "none",
"reason": ""
},
"evidence_refs": [
{
"note": "Public issue metadata and dry-run packet only.",
"type": "forgejo",
"value": "issue-title-body-and-target-snapshot"
}
],
"impact": 5,
"judge_actor": {
"name": "iskra",
"runtime": "openclaw"
},
"judged_at": "2026-05-28T22:01:57Z",
"labels_to_apply": [
"judge/p1"
],
"piotr_fit": "high",
"priority": "p1",
"rationale_summary": "Activation contract is foundational: it defines Iskra's role, privacy boundary, output shape, and non-merge/non-Hermes limits before any nightly judging loop can be safe.",
"reach": 5,
"recommended_next_action": "schedule",
"rerun_reason": "no_prior_judgment",
"schema": "openclaw.judge.v0",
"target": {
"kind": "issue",
"number": 5,
"repo": "pdurlej/judging-claw"
},
"target_snapshot": {
"body_hash": "sha256:9f9b7027a55291e0caf653ce39315363a70b99bde6393d678a2656f72c05ed0e",
"commit_count": null,
"evidence_hash": "sha256:8b4837313e38d63c293853fce5c0612c474e6ec3b426b27b3d36583b407abb09",
"head_sha": null,
"labels": [],
"labels_hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"state": "open",
"title_hash": "sha256:0d7c008fb440a36e85db57413e7dba7f8d6d4bc567f42741b555a08bb3523e2d",
"updated_at": "2026-05-28T21:47:53+02:00"
},
"top_caveat": "The contract looks usable, but should remain explicitly tied to no raw private context in Forgejo and no speaking as Piotr."
}

<!-- openclaw.judge.v0 --> { "confidence": 4, "effort_hint": "small", "escalation": { "kind": "none", "reason": "" }, "evidence_refs": [ { "note": "Public issue metadata and dry-run packet only.", "type": "forgejo", "value": "issue-title-body-and-target-snapshot" } ], "impact": 5, "judge_actor": { "name": "iskra", "runtime": "openclaw" }, "judged_at": "2026-05-28T22:01:57Z", "labels_to_apply": [ "judge/p1" ], "piotr_fit": "high", "priority": "p1", "rationale_summary": "Activation contract is foundational: it defines Iskra's role, privacy boundary, output shape, and non-merge/non-Hermes limits before any nightly judging loop can be safe.", "reach": 5, "recommended_next_action": "schedule", "rerun_reason": "no_prior_judgment", "schema": "openclaw.judge.v0", "target": { "kind": "issue", "number": 5, "repo": "pdurlej/judging-claw" }, "target_snapshot": { "body_hash": "sha256:9f9b7027a55291e0caf653ce39315363a70b99bde6393d678a2656f72c05ed0e", "commit_count": null, "evidence_hash": "sha256:8b4837313e38d63c293853fce5c0612c474e6ec3b426b27b3d36583b407abb09", "head_sha": null, "labels": [], "labels_hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "state": "open", "title_hash": "sha256:0d7c008fb440a36e85db57413e7dba7f8d6d4bc567f42741b555a08bb3523e2d", "updated_at": "2026-05-28T21:47:53+02:00" }, "top_caveat": "The contract looks usable, but should remain explicitly tied to no raw private context in Forgejo and no speaking as Piotr." } <!-- /openclaw.judge.v0 -->
Author
Collaborator

Implemented and verified in Judging Claw v1 production rollout.

Proof:

  • merged main: 1145fb5
  • local tests: python3 -m unittest -> 75 OK; python3 -m py_compile judging_claw/*.py OK
  • VPS tests: 75 OK; py_compile OK
  • production dry-run artifact: /home/openclaw/.openclaw/workspace/judging-claw-runs/2026-05-29-192057

Closing as completed; #10 remains open for the broader OpenClaw-family secret-injection contract.

Implemented and verified in Judging Claw v1 production rollout. Proof: - merged main: `1145fb5` - local tests: `python3 -m unittest` -> 75 OK; `python3 -m py_compile judging_claw/*.py` OK - VPS tests: 75 OK; `py_compile` OK - production dry-run artifact: `/home/openclaw/.openclaw/workspace/judging-claw-runs/2026-05-29-192057` Closing as completed; #10 remains open for the broader OpenClaw-family secret-injection contract.
codex closed this issue 2026-05-29 19:29:34 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/judging-claw#5
No description provided.