deslop(decisions): catalog-wire / v2-schema / roadmap-consolidate — 3 operator calls #733
Labels
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/platform#733
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
From the 2026-06-05 deslop audit — 3 aspirational-vs-real decisions only the operator can make. Each becomes a grind once decided.
A. Capability catalog → autonomy router: wire or demote?
policies/agent-capabilities.yaml(#566) is loaded by NO code; the autonomy router's production path (cli.py:366) uses DEFAULT_POLICY with an always-empty allowlist;agent_access/_types.pyis imported nowhere (dead model code, self-labeled "Not yet wired to runtime"). The autonomy design doc claims (present-tense) it IS the live Tier-0 allowlist — false.allowlisted_capabilitiesfrom the YAML intoAutonomyPolicy; implement cousin/host/TTL/audit gating. = the #687 impl work (real new design)._types.py.→ Decision: is the multi-agent governance gate being built NOW (#687) or shelved? (The doc-soften is queued in the doc-reconcile issue regardless.)
B. v2 "ADHD-counters" schema: wire or shelve?
schema/module.schema.v2.jsonmarks 5 fields (serves_areas, user_value_test, acceptance_criteria, alternatives_considered, open_loops) "MANDATORY for active" — but has zero enforcement (no if/then/dependentRequired) and 0/88 adoption (the Phase-02 backfill never ran).if/then/dependentRequiredenforcement.C. Roadmap consolidation: pick ONE canonical
5 docs claim authority over the same milestone train (current-platform-roadmap.md, platform-maturity-roadmap-2026-06-01.md, m10-closure-plan, work-division, STATUS_NOW) — exactly the status-file proliferation ADR-0006 was written to prevent, re-emerging at the roadmap layer.
→ Confirm or adjust; Codex then applies the banners + repoints refs.
Acceptance
Decisions = operator; analysis + mechanical follow-up = claude/Codex.
Role: advisor · Intent: research packet dla decyzji A (catalog-wire) — decyzja NIE podjęta
🫖 Pan Herbatka — doprecyzowuję A (katalog→router) świeżym dowodem z
main. Deslopowy framing „czy budować bramę #687?" jest nieaktualny — brama zbudowana. Pytanie zwęża się do mostu.Stan na żywo (zweryfikowany,
main2026-06-08)autonomy.pyma pełną kaskadęhard-stop → allowlist → sandbox → classifier(route_action:264-292);platformctl autonomy ask(cli.py cmd_autonomy_ask) wołaclassify_action. Plus fail-closed classifier + decision receipts (ADR-0025).cmd_autonomy_askwołaclassify_action(...)bezpolicy=→DEFAULT_POLICYz pustymallowlisted_capabilities(autonomy.py:157,174) → żadne capability nigdy nie matchuje (:283) → wszystko spada do sandbox/classifier/ask. Bezpieczne (fail-safe), ale katalog ignorowany.agent_access/__init__.py+_types.pyjawnie: „Not yet wired to runtime — see #76".⚠️ Semantyczna luka, którą most MUSI rozwiązać
Katalog jest per-cousin (
cousin_allowed: [...]), aAutonomyPolicy.allowlisted_capabilitiesto globalnyfrozenset[str](płaska lista id, bez wymiaru aktora). Most = projekcja katalogu na konkretnego aktora.Scope „wire" (codex-ready, jeśli A = wire)
agent_access/catalog.py:policies/agent-capabilities.yaml→list[Capability](model już jest w_types.py), walidacja przeciwschema/agent-capability.schema.json.build_policy_for_actor(actor, catalog) -> AutonomyPolicy=AutonomyPolicy(allowlisted_capabilities={c.id for c in catalog if c.allows_cousin(actor)}).--actorpodany → buduj policy z katalogu i przekażpolicy=doclassify_action. Bez aktora → fallbackDEFAULT_POLICY(wstecznie kompatybilne).route_action(:278przed:283) → allowlisted capability NIE omija hard-stopu. Test MUSI to potwierdzić (allowlisted capability + hard-stop tag → wciążOPERATOR_GATE).id → allowlist. TTL /allowed_hosts/audit.levelgating = rozszerzenie (#76 roadmap), osobny krok.Klasa pracy
class/security-sensitive(autonomy gate + capability delivery) → full canary 3+3 + operator merge. Rozmiar: 1 nowy plik (~80-120 lin) + ~15 lin wcli.py+ testy.Rekomendacja (decyzja Piotra)
A = wire, ale jako osobny security-sensitive grind (#76 / #687-followup), NIE część deslop-doc-reconcile. Teraz, gdy router stoi, most jest tani i tnie kliki operatora dla wcześniej-zaaprobowanych capabilities („deterministyczne na twarde"). Alternatywa demote: oznacz katalog docs-only + stub
_types.py— tańsze, ale autonomy zostaje „zawsze pyta".(B: v2-schema 0/88 adopcji — bez zmian, rekom shelve. C: 5+ roadmap-docs — bez zmian, rekom STATUS_NOW + platform-maturity = kanon.)
— zweryfikowane na
main2026-06-08 (Pan Herbatka, advisor)Iskra judgment
pdurlej/platform#issue#733judge/p2,judge/operator-needediskraviaopenclawRationale: This is P2 operator-needed governance shaping because wiring or demoting capability, schema, and roadmap concepts changes platform direction and future work queues.
Caveat: Do not start implementation until the operator decides which concepts are live product direction and which are documentation-only or shelved.
Structured openclaw.judge.v0 payload