From 7a8a99f447031b82dba918062c6aa57a36ab3898 Mon Sep 17 00:00:00 2001 From: Tom Softreck Date: Thu, 10 Sep 2026 09:04:21 +0200 Subject: [PATCH] docs: record deployed executor metrics acceptance (ticket-063) --- docs/information/executor-metrics.md | 64 +++++++++++++++++++++++++--- project/ticket-063/README.md | 16 +++++++ project/ticket-063/intent.json | 13 ++++++ 3 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 project/ticket-063/README.md create mode 100644 project/ticket-063/intent.json diff --git a/docs/information/executor-metrics.md b/docs/information/executor-metrics.md index 7b2d083..e5ac61e 100644 --- a/docs/information/executor-metrics.md +++ b/docs/information/executor-metrics.md @@ -3,20 +3,22 @@ "schema": "wellmanifest.docs/document/v1", "id": "executor-metrics", "kind": "information", - "version": 1, + "version": 2, "title": "Optional executor metrics and incomplete file reads", "status": "implemented", "owner": "semcod/planfile", "created": "2026-09-09", - "updated": "2026-09-09", + "updated": "2026-09-10", "review_after": "2026-10-09", - "source_revision": "59dcc7a65f04de5cb31f4caa99df157697875058", + "source_revision": "51b0c94f01d78a0d82ff92b998114e5ae6b9fffa", "affected_repositories": ["semcod/planfile"], "evidence": [ "https://github.com/semcod/planfile/blob/59dcc7a65f04de5cb31f4caa99df157697875058/planfile/executor_standalone.py", "https://github.com/subactor/doctor-agent/issues/377", "https://github.com/subactor/doctor-agent/issues/378", - "repo://semcod/planfile/tests/test_executor_metrics.py" + "repo://semcod/planfile/tests/test_executor_metrics.py", + "https://github.com/semcod/planfile/pull/62", + "receipt:planfile:PLF-13798:metrics-deployment" ] } --- @@ -27,7 +29,7 @@ ## Purpose Make a missing portion of optional project context visible to operators and LLM -consumers. At the baseline source revision above, the standalone executor caught +consumers. At baseline `59dcc7a65f04de5cb31f4caa99df157697875058`, the standalone executor caught all exceptions during project metrics collection without recording a diagnostic. Doctor detected both the per-file catch and the outer fallback. @@ -36,8 +38,8 @@ Doctor detected both the per-file catch and the outer fallback. This document describes `StrategyExecutor._get_project_metrics` and the prompt it supplies to the standalone executor. The source revision identifies the -investigated baseline; the implementation and regression tests are versioned -with this document. Publication and runtime deployment require separate receipts. +independently merged implementation. Version 1 remains available at that immutable +revision. Publication and runtime deployment have separate observed evidence below. ## Evidence @@ -88,3 +90,51 @@ projection described in the [published Doctor integration report](https://github Use these codes when diagnosing incomplete executor context. Resolve any follow-up about complexity accuracy or filesystem enumeration as a separately scoped change. + +## Version 2 — deployed acceptance, 2026-09-10 Europe/Warsaw + +The independent Validator merged PR #62 at `51b0c94f01d78a0d82ff92b998114e5ae6b9fffa`. +The required `ci-loop` and `notify` checks passed, as did the locked Python 3.10 +and 3.13 test jobs. Deployment was an operator action under session authorization; +these receipts do not claim autonomous repair admission. + +The active `subactor-platform-planfile-1` now uses image +`sha256:d96361f68299e4af1838a2a8d2020a82cc1c5afc5efbc86b1dd59cfdeb0c4a8a`. +This image replaces only `executor_standalone.py` in the prior runtime image +`sha256:68ada5703c25c6b3847fa7e0807e94e64ad17570a3594cb0059aa9d701803faa`; +it is not a claim that the complete installed package equals the merged source. +The installed module SHA-256 is +`04d61f336cd2792ba13dfb169bfa7bd4fe7486ebac45da04e71f398efce8f952`. + +Observed acceptance: + +- Six regression tests from the protected source passed inside the candidate + image without network access or production data volumes. +- The replacement became healthy in 11.2 seconds. Live configuration, host + settings, mount bindings and network membership matched the prior container. +- The installed module returned partial metrics for invalid encoding, marked + the LLM prompt as incomplete, reported filesystem failures without exception + payloads, and propagated unexpected programming errors from the collector. +- HTTP `/health` returned `ok` in 0.010 seconds. An existing deployment ticket + read returned in 0.111 seconds. These are individual observations, not an SLA. +- The published Doctor analyzer from revision + `775935b40dbe6020f3a0aa10fe81d6cfca6ac954` found zero matching issues in the + installed module, compared with two in the previous source. + +The previous container is retained, stopped, as +`subactor-platform-planfile-1-rollback-metrics-51b0c94`. No data volume was replaced. +Private recovery storage contains the exact previous Docker configuration and +the deployment plan. The durable image override is +`~/.local/share/subactor/planfile/releases/metrics-51b0c94f01d78a0d82ff92b998114e5ae6b9fffa/compose.image.json`. +Use that override when intentionally recreating this release through Compose. +The previous container's labels reference a missing temporary Compose override; +those historical labels were preserved, not treated as a complete restoration +recipe. Recovery uses the retained container and privately captured live binding. + +The dirty primary source checkout was preserved. Consequently, Search may still +observe the older checkout revision even though the approved module is deployed; +the runtime recheck above is a separate observation. Archive data, credentials, +raw logs and full configuration are excluded from this document. + +The bounded acceptance receipt stored with PLF-13798 has SHA-256 +`da8ae3972a729ec9ca2aedc5684f539b9586d77439fa1039cce35edc1ce9f794`. diff --git a/project/ticket-063/README.md b/project/ticket-063/README.md new file mode 100644 index 0000000..ae0ab56 --- /dev/null +++ b/project/ticket-063/README.md @@ -0,0 +1,16 @@ +# ticket-063 — Executor metrics deployment acceptance + +Intent: deploy the independently merged module from PR #62 into the existing +Planfile service image, preserve live configuration and volumes, retain a stopped +rollback container, and record independent runtime acceptance. + +Authorization: the user requested continuation of the remaining deployment. +Central execution record: PLF-13798. Source merge: +`51b0c94f01d78a0d82ff92b998114e5ae6b9fffa`. + +Acceptance: six published regression tests in the candidate image; exact installed +module digest; health and ticket API readback; partial metrics and LLM prompt +behavior; published Doctor analyzer reports no matching findings in the installed +module. Raw configuration and logs remain private. + +Canonical result: [Executor metrics diagnostics, version 2](../../docs/information/executor-metrics.md). diff --git a/project/ticket-063/intent.json b/project/ticket-063/intent.json new file mode 100644 index 0000000..3fd71bc --- /dev/null +++ b/project/ticket-063/intent.json @@ -0,0 +1,13 @@ +{ + "schema": "new-project.intent/v3", + "ticket": "ticket-063", + "summary": "Deploy approved executor metrics module and publish observed acceptance evidence", + "workstream": "executor-metrics-deployment", + "classification": {"kind": "SERVICE", "priority": "P2", "origin": "health"}, + "allowedPaths": ["docs/information/executor-metrics.md", "project/ticket-063/**"], + "forbiddenPaths": [".env", "secrets/**", ".github/**"], + "stacks": [], + "dependsOn": ["ticket-061"], + "conflictsWith": [], + "integrationTicket": null +}