Mail infra 60% done — continue or sunset (owner decision needed) #48
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
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/platform#48
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?
Migrated from
state/L3/OPEN_LOOPS.mdper ADR 0001 + AGENTS.md.Source
state/L3/OPEN_LOOPS.mdMail infra '60% done' section + STATE_OF_PLATFORM v2 §5 risk/product HIGH + §6 secondary decisions.What
Mail infra is 60% built but missing the last 40% needed to deliver primary user value (Iskra reads mail + replies). Specific gaps:
OPENCLAW_MAIL_OPENCLAW_DISPATCH_URLand_TOKENempty (617b59faApr 12) — gateway healthy on RS 2000, but VPS 1000 OpenClaw not consumingdispatch_openclaw_intakenot configured — action-plane partially inactivereplyaction (a931c692)lastInboundAt/lastOutboundAtnull on Signal/Matrix despiterunning=trueWhy this needs owner decision
Not a tech bug. Product question: does this work still have owner value, or is the design pulling against operator's actual usage? 60% done with no recent progress = decision moment.
Options
Owner action
CHOOSE: (a), (b), or (c). Operator-attention required. STATE_OF_PLATFORM v2 §6 declined to recommend (insufficient product context).
Acceptance criteria
Iskra note — TaskFlow inbox-triage as the missing product layer
Piotr pointed at OpenClaw's
taskflow-inbox-triageskill/example as an adjacent pattern:My read: this is probably the right framing for the unfinished 40% here.
The current mail infra state looks less like "mail server not done" and more like:
The TaskFlow pattern suggests a missing layer:
stateJson.waitingonly when Piotr or another outside reply is needed.Proposed reframing
Instead of continuing infra for infra's sake, define the next slice as:
Mail Inbox TaskFlow layer
Scope:
personal,business,newsletter,action_needed,waiting,archive;waitingstates for items requiring Piotr's decision;replyaction.Why this changes the decision
This makes option (a) more attractive, but with a narrower product slice:
If that first loop does not create value, then sunset becomes much easier to justify.
Suggested acceptance criteria for a continue decision
waitingwith a clear owner decision prompt.My recommendation: continue, but only as a bounded product-MVP slice around inbox triage, not as another generic mail-infra wave.
pdurlej/platformapdurlej/iskra-openclaw— co gdzie mieszka #74Operator decision: DEFER 30d (2026-05-06)
Operator-confirmed via chat 2026-05-06: "Defer, nie odpuszczę tego."
Mail infra remains 60% built; remaining 40% (
OPENCLAW_MAIL_OPENCLAW_DISPATCH_URL/_TOKEN,dispatch_openclaw_intake, first-class reply action, telemetry timestamps) parked until 2026-06-05 re-evaluation.Re-evaluation criteria (post-30d)
If yes to ≥1: re-open as
continuewith concrete first slice. If no: convert tosunsetdecision (separate issue).Action
Issue stays open. Label
not-readyapplied (operator deferred, not abandoned). Re-evaluate scheduled 2026-06-05.Parked from M08 to M10 per Iskra supplemental triage. Mail remains important, but #235 is the narrower current issue and needs live scope/evidence before execution. No runtime mutation was performed.
Decision brief (M10 closure; operator-only — NOT a cousin call). Mail infra is ~60% done; operator decision needed: continue or sunset.
This is operator-emotional / owner-attention. Held pending your go/no-go. (Related: #235 Iskra mail consumer is M08, also operator-gated.)
Missive/OpenClaw Mail status update for future platform-owner thread:
@iskragrant in Missive, not broad default mailbox triage.openclaw-mail-infraremains the canonical product implementation repo for the gateway/MCP/Missive API code.platformis already carrying the desired-state hooks:modules/openclaw-mail-gateway,modules/openclaw-mail-worker, Traefik route formail-gateway.pdurlej.com,runbooks/mail-loops.md, and Forgejo baseline ownership.platformandopenclaw-mail-infra, and update this issue from the old “60% done / continue or sunset” framing to the current “live, platform-owned runtime contract” framing.mail_senddisabled by default on MCP).No action taken here beyond documenting the handoff.
{
"confidence": 5,
"effort_hint": "medium",
"escalation": {
"kind": "operator",
"reason": "Issue explicitly asks whether to continue, reshape, or sunset partially built mail infrastructure."
},
"evidence_refs": [
{
"note": "Issue frames mail infrastructure as 60 percent built but missing primary user value.",
"type": "forgejo",
"value": "issue-title-body-labels-and-target-snapshot"
},
{
"note": "Body lists dispatch, reply-action, and telemetry gaps as remaining blockers.",
"type": "forgejo",
"value": "issue-body-gaps"
},
{
"note": "Body states this is a product decision about owner value rather than only a technical bug.",
"type": "forgejo",
"value": "issue-body-owner-decision"
}
],
"impact": 4,
"judge_actor": {
"name": "iskra",
"runtime": "openclaw"
},
"judged_at": "2026-06-08T01:00:00Z",
"labels_to_apply": [
"judge/p2",
"judge/operator-needed"
],
"piotr_fit": "medium",
"priority": "p2",
"rationale_summary": "This is P2 operator-needed work because further mail-infra effort should wait for a clear continue, reshape, or sunset decision.",
"reach": 4,
"recommended_next_action": "operator_needed",
"rerun_reason": "no_prior_judgment",
"schema": "openclaw.judge.v0",
"target": {
"kind": "issue",
"number": 48,
"repo": "pdurlej/platform"
},
"target_snapshot": {
"body_hash": "sha256:fb06643471c98576d2a2fb8821f89207f0e48e4df0d5cd5b5f3efdc18a40e308",
"commit_count": null,
"evidence_hash": "sha256:7b8840778c9ca13ee0c60fea3a87e0195fac8c55897182b75cb81bc8d0576305",
"head_sha": null,
"labels": [
"not-ready",
"operator-emotional",
"owner-attention",
"priority:p2",
"risk/product"
],
"labels_hash": "sha256:fa90ff9ac94fb51b79c49c821fa448320898faf97e97fa2f189309f3aaa6eafe",
"state": "open",
"title_hash": "sha256:7b5dad94d7c1fefb32a9a912c2e6be3aabe57f69274e5c1ae064ff314b8946b3",
"updated_at": "2026-06-07T16:11:05+02:00"
},
"top_caveat": "Do not spend more implementation time until the product value and preferred direction are confirmed."
}