Skip to content

History / Umbrella Container Tool Callback

Revisions

  • umbrella(container-callback): cite server sub-issue #174 in validation closeout

    @kadyapam kadyapam committed Jun 10, 2026
  • dashboard: #80 closed — container_callback chain green (ops#168 + server#173 v3.0.3 + e2e#38) Home (Last refreshed + Active umbrellas -#80 + Recently closed +#80 + Ecosystem map server v3.0.3 / ops note + Sessions preview + Releases preview), Sessions-Log (new top entry), Releases (server v3.0.3 row + Last refreshed), Umbrella-Container-Tool-Callback (2026-06-10 validation closeout: chain green, three layered bugs fixed).

    @kadyapam kadyapam committed Jun 10, 2026
  • docs(dashboard): #81 closed — noetl-server v3.0.2 container-tool command type fix Home (Last refreshed + Active umbrellas + #79/#80 reconciled + Recently-closed #81 + Ecosystem-map server v3.0.2 + Sessions/Releases previews), Sessions-Log (full entry), Releases (Last refreshed + timeline v3.0.2 row), Umbrella-Container-Tool-Callback (Recent-activity row — #81 unblocks the chain). Refs noetl/ai-meta#81

    @kadyapam kadyapam committed Jun 10, 2026
  • wiki: worker#60 merged — Container Tool Callback umbrella #43 Round 4 worker-side adoption ships v5.14.0 Sessions-Log: new dated entry at top documenting the worker PR merge (worker@f96da71 v5.14.0) and the worker-side adoption status (the last code piece of the closed Container Tool Callback umbrella). Home: Last-refreshed cell prefix updated with the new headline + worker pointer bump + healthy-steady-state dashboard fingerprint. Releases.md: prepended row for noetl-worker v5.14.0 + Last refreshed cell updated. Umbrella-Container-Tool-Callback: "Remaining follow-up" section flipped from in-flight to DONE — table marks both cli#56 and worker#60 MERGED; sequence-to-land becomes a done-sequence list; section header reads "✅ DONE" with only the kind-validation step on a fresh worker image remaining as housekeeping. Refs noetl/ai-meta#43 Refs noetl/worker#59 noetl/worker#60 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kadyapam kadyapam committed Jun 7, 2026
  • wiki: cli#56 + server#143 merged — executor 0.4.1 + Phase D R4 fan-in barrier Sessions-Log: new dated entry at top documenting the two PR merges (cli@77be8be v4.10.0 + server@be37e5c v2.49.0) + the worker PR status (still draft until the noetl-executor 0.4.1 publish lands). Home: Last-refreshed cell prefix updated with the new headline + links. Releases.md: prepended rows for noetl-server v2.49.0 (Phase D R4 fan-in barrier) and noetl/cli v4.10.0 (noetl-executor 0.4.1 bridge propagation); Last refreshed cell updated. Umbrella-Container-Tool-Callback: Round-4-follow-up status table updated — cli#56 marked MERGED, worker#60 still blocked on the 0.4.1 publish. Umbrella-Rust-Server-Port: new Recent activity row for Phase D R4 slice 1 (fan-in / reduce barrier). Phase D status table gets a new row marking R4 slice 1 as v2.49.0 shipped with kind-val pending. Refs noetl/ai-meta#43 Refs noetl/ai-meta#49 Phase D R4 Refs noetl/cli#56 Refs noetl/server#142 noetl/server#143 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kadyapam kadyapam committed Jun 7, 2026
  • wiki: record Container-Tool Callback Round 4 worker-side adoption PRs (#43 follow-up) Sessions-Log: new dated entry at top documenting the two-PR chain opened today — noetl/cli#56 (executor 0.4.1 bridge propagation, 102/0) + noetl/worker#60 (draft, blocked; 126/0 against local patched executor). Home: Last-refreshed cell prefix updated with the new headline + links to both PRs + per-step sequencing for landing. Umbrella-Container-Tool-Callback: "Remaining follow-up" section under Next-concrete-steps now carries a per-repo status table + the merge-sequence-to-land + the expected dashboard fingerprint after Round 4 lands (the `noetl_worker_call_done_skipped_pending_callback_total{tool_kind="container"}` ≈ server `noetl_container_callback_total{state=...}` shape with stale counter at ~0). Refs noetl/ai-meta#43 Refs noetl/cli#55 noetl/cli#56 Refs noetl/worker#59 noetl/worker#60 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @kadyapam kadyapam committed Jun 7, 2026
  • docs(container-callback): umbrella #43 CLOSED — Round 5 e2e kind-val rig landed Round 5 of the Container Tool Callback umbrella ships (e2e#30, closes e2e#29; e2e@17de21d). All four Rust rounds are in. Umbrella closes. Round 5 deliverables: - fixtures/playbooks/container_callback_happy_path/ (alpine sleep+echo) - fixtures/playbooks/container_callback_oom/ (python:3.12-alpine + 40 MiB bytes() under 32Mi limit) - scripts/kind_validate_container_callback.sh (preflight, run, scrape metrics, sum both counters per state, assert delta ≥ 1) Rule 0a three-page sweep: - Home: Last refreshed + #43 moved from Active umbrellas to Recently closed; preamble count Three → Two. - Sessions-Log: prepend dated entry. - Umbrella-Container-Tool-Callback: mark CLOSED with full per-round landing inventory + drop the now-obsolete Next-concrete-steps Rust-rounds list (worker-side pending_callback adoption is the only follow-up). Worker-side pending_callback adoption is the only remaining work; tracked as a comment on the umbrella issue. Harmless during transition (watcher callback recorded by noetl_container_callback_stale_total).

    @kadyapam kadyapam committed Jun 7, 2026
  • docs(container-callback): Round 3 shipped — Tool::Container (tools v2.21.0) noetl/ai-meta#43 Round 3 lands: Tool::Container creates a labeled K8s Job and returns immediately, with the new ToolResult.pending_callback marker to signal the worker should suppress its own call.done emit (tools#37, closes tools#36; v2.21.0). Closes the last code round in the chain. Only Round 5 (e2e kind-val rig) remains to close the umbrella. Worker-side adoption of pending_callback (suppressing emit when marker set) is a coordinated follow-up; until then the watcher's callback is treated as stale by the server (recorded by noetl_container_callback_stale_total). Harmless race during the transition. Rule 0a four-page sweep: - Home: Last refreshed + ecosystem-map tools cell v2.20.0 → v2.21.0. - Sessions-Log: prepend dated entry. - Releases: prepend v2.21.0 row. - Umbrella-Container-Tool-Callback: Recent-activity table + mark Round 3 DONE; only Round 5 remains; document the worker-side follow-up.

    @kadyapam kadyapam committed Jun 7, 2026
  • docs(container-callback): Round 1 shipped — noetl-k8s-watcher Deployment (ops@8892043) noetl/ai-meta#43 Round 1 lands: noetl-k8s-watcher Deployment + RBAC + shell watcher script in ci/manifests/k8s-watcher/ (ops#167, closes ops#166). External K8s Job watcher observes Job state transitions in the noetl namespace and POSTs terminal-state events to noetl-server's Round-2 endpoint when Jobs carrying noetl.execution-id labels transition to a terminal state. Shell MVP per the sub-issue note — kubectl --watch -o json piped through jq + curl. Cluster-scoped read-only RBAC; single-replica Deployment with bitnami/kubectl + jq/curl installed at startup. 3× retry with backoff on 5xx/transport; never on 4xx. Sanity-checked: kubectl kustomize renders 327 lines of valid YAML; sh -n watcher.sh clean; jq classification dry-run resolves Complete → succeeded. Rounds 1 + 2 are both in. The Round-1 ↔ Round-2 chain can be kind-validated end-to-end against the live endpoint by manually kubectl apply-ing a labeled Job before Round 3 lands the tool side. Rule 0a three-page sweep (no Releases.md since noetl/ops is untagged): - Home: Last refreshed + ecosystem-map ops cell. - Sessions-Log: prepend dated entry. - Umbrella-Container-Tool-Callback: Recent-activity table + Next-concrete-steps marked Round 1 DONE; only Rounds 3 + 5 remain.

    @kadyapam kadyapam committed Jun 7, 2026
  • docs(container-callback): Round 2 shipped — server v2.48.0 noetl/ai-meta#43 Round 2 lands: POST /api/internal/container-callback/ {execution_id}/{step} (server#141, closes server#140). External K8s watcher (Round 1, noetl/ops#166) POSTs Job terminal-state events to this endpoint when a Job carrying the noetl.execution-id label transitions to a terminal state. Handler validates path params, checks staleness via a single indexed SELECT on noetl.event, and emits a call.done event on the orchestrator's pipeline (or bumps stale counter + returns 202 if no events exist for the execution). Six TerminalState variants matching the umbrella's failure-mode taxonomy. Each survives in meta.terminal_state so playbooks branch on the specific failure reason. Two new counters + structured INFO logs. 7 new unit tests; lib 487/0. Round 2 unblocks Round 1 (watcher Deployment) + Round 3 (Tool::Container). Rule 0a four-page sweep: - Home: Last refreshed + ecosystem-map server cell v2.47.0 → v2.48.0. - Sessions-Log: prepend dated entry. - Releases: prepend v2.48.0 row. - Umbrella-Container-Tool-Callback: Recent-activity table + Next-concrete-steps marked Round 2 DONE; Rounds 1/3/5 stay open.

    @kadyapam kadyapam committed Jun 7, 2026
  • docs(container-tool-callback): settle design (Option B) + sub-issue tree The Container Tool Kind Callback umbrella (noetl/ai-meta#43) moves from 'design conversation; no implementation' to design settled (Option B — external noetl-k8s-watcher deployment) with the sub-issue tree opened across the four Rust repos: - Round 1 noetl/ops#166 — noetl-k8s-watcher deployment + RBAC - Round 2 noetl/server#140 — callback endpoint - Round 3 noetl/tools#36 — Tool::Container with PendingCallback marker - Round 5 noetl/e2e#29 — kind-val rig (happy path + OOMKilled) Round 4 (Python tool update) deferred per the Rust-only standing direction. The wiki page now carries: - The design decision rationale (Option A rejected — brittle to Job crashes; Option C rejected — K8s 1.31+ pin too restrictive). - Catalog entry YAML shape. - Failure-mode taxonomy (6 call.done statuses mapped from K8s terminal conditions). - Recommended round ordering (Round 2 first; smallest blast radius).

    @kadyapam kadyapam committed Jun 7, 2026
  • inject dates across dashboard pages for developer scanability Per session 2026-06-02 request: "inject dates so other developers can get a sense what is done and when and what is going on now." Changes across pages: - Home — adds Opened/Last update columns to active umbrella table, appends Recently Closed (last 7 days) table with closure dates, adds Last commit column to ecosystem map with PR links, expands Sessions log + Releases sections with explicit dates. - Umbrella-Rust-Worker-Migration — adds Opened/Last update at top, dates each R-1/R-2/R-3 sub-task with completion date, surfaces closed-issue links per phase, reshapes Recent activity as a dated table. - Umbrella-Rust-Worker-Parity-Gaps — adds Surfaced/Filed/Last update at top, dates the regression run that surfaced them, cites the master execution_id. - Umbrella-Python-Services-To-Rust — adds Opened/Last update at top, reshapes Recent activity as a dated table including the ADR merge SHA. - Umbrella-System-Pool-Design — same shape, captures the design conversation timeline (issue file → matrix capture → ADR merge → wiki cross-links). - Umbrella-Container-Tool-Callback — adds Opened/Last update, dated activity table. - Umbrella-Event-Envelope — adds Started/Last update, dated each EE-1/EE-2/EE-3 landing, marked EE-4 as blocked on #45 step 1. - Repo-Map — adds Last commit column to every repo table. - Releases — adds Timeline section (all repos, last 14 days, sorted by date). Goal: a developer scanning any page can see "what's done, when, what's next" without opening the issue tracker.

    @kadyapam kadyapam committed Jun 2, 2026
  • initialise NoETL ecosystem dashboard Per session 2026-06-02 request: "use ai-meta wiki as todo umbrella tracker for all issues and submodule repos to keep links and description of what we do across all repos." The ai-meta wiki becomes the single pane of glass for the NoETL platform — cross-repo umbrellas, ecosystem map, release history, session decisions, agent-coordination conventions. Initial page set: Dashboard: - Home — active-umbrella table, ecosystem map, recent sessions, release pointer, conventions index - _Sidebar — navigation Ecosystem reference: - Repo Map — every submodule, role, current version, wiki link - Releases — per-repo release log with GitHub Release URLs - Sessions Log — chronological agent session entries Active umbrellas (one page per ai-task issue): - Umbrella-Rust-Worker-Migration (#30) - Umbrella-Container-Tool-Callback (#43) - Umbrella-Python-Services-To-Rust (#45) - Umbrella-System-Pool-Design (#46) - Umbrella-Rust-Worker-Parity-Gaps (#47 + #48) - Umbrella-Event-Envelope (#51 EE-1..EE-4) Conventions (pointers into agents/rules/): - Issue-Tracking - Wiki-Convention (the ai-meta vs per-repo split) - Handoffs - Deployment-Validation - Execution-Model - Observability Cross-link discipline: this wiki uses bare slugs internally and full URLs to per-repo wikis. Per-repo wikis link back to specific pages here (not Home).

    @kadyapam kadyapam committed Jun 2, 2026