Prepare approved reporting repair and monthly review inputs
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0e738-9e15-7600-87e6-90dec3a7beef
This commit is contained in:
parent
9baf6f1829
commit
a18d83f74a
16 changed files with 663 additions and 1 deletions
|
|
@ -1,5 +1,10 @@
|
|||
# Activity-core receipt loop
|
||||
|
||||
Current diagnosis (2026-09-28): the first natural daily run fired but failed because
|
||||
the replacement worker image lacks the domain resolver. A tested repair image is
|
||||
published and awaits the scoped attended-release exception; prior smoke success
|
||||
is historical. See [repair evidence](evidence/2026-09-28-reporting-repair.json).
|
||||
|
||||
FEP-WP-0008 owns this integration. The initial delivery is deterministic collection
|
||||
and reporting. Automatic investigation and publication are a separate, outstanding
|
||||
execution dependency; a weekly report is not evidence of an improvement cycle.
|
||||
|
|
@ -134,3 +139,34 @@ September 27 14:07Z smoke receipt. See [recheck](evidence/2026-09-28-loop-rechec
|
|||
Enabled schedules and prior smoke success do not prove this recurring execution.
|
||||
WP-0008 T03 retains cadence/sink diagnosis; no outage cause or live fix is claimed.
|
||||
The roster remains empty and mutation execution remains unadmitted.
|
||||
|
||||
|
||||
## Diagnosed failure and prepared repair — 2026-09-28
|
||||
|
||||
Temporal fired the daily definition at 00:00Z. Worker run
|
||||
`01a0e54f-c690-7caa-bae6-81cd5ed32416` failed with required context source
|
||||
`frontend-patterns` not registered. Source `428f2d7` changed the worker from the
|
||||
frontend overlay to the grant-aware API image; the running image has neither the
|
||||
resolver module nor its registration. ArgoCD and pod readiness were healthy, so
|
||||
those probes did not establish domain functionality.
|
||||
|
||||
[Diagnosis](evidence/2026-09-28-reporting-diagnosis.json),
|
||||
[schedule readback](evidence/2026-09-28-reporting-schedules.json), and
|
||||
[repair contract](../integrations/activity-core/README.md) pin the evidence.
|
||||
The prepared overlay keeps the current grant-aware base and changes only the
|
||||
domain resolver and its registration. Hash comparison preserves all other Python
|
||||
source and the grant identity. The candidate also adds monthly owner-snapshot
|
||||
health, decisions and measured research effort with unknown counts; it never grants
|
||||
execution authority. Missing review inputs degrade the report visibly.
|
||||
|
||||
58 focused tests and 17 GitOps tests pass. Server dry-run passes for the same nine
|
||||
resources; the actual resource diff is only the worker image. The published digest
|
||||
is `afd8a7af73132becba432e7b315d70f88d66676020169d5d8811641304136437`.
|
||||
The October 1 built-image fixture is 1,699 characters and contains no consumers,
|
||||
unknown eligible-task denominator and unknown cost observations. This is fixture
|
||||
proof, not an actual October run. Production promotion remains separately gated.
|
||||
|
||||
Hosted discovery is still unregistered (404) and its routed write credential is
|
||||
unavailable to the current operator session. Public source publication passed.
|
||||
The [consumer hook](../feedback/ConsumerIntegration.md) is prepared, but no real
|
||||
consumer was fabricated or enrolled. These obligations remain WP-0008 T01/T02.
|
||||
|
|
|
|||
31
docs/evidence/2026-09-28-consumer-readiness.json
Normal file
31
docs/evidence/2026-09-28-consumer-readiness.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"checked_at": "2026-09-28T09:21:05.990563+00:00",
|
||||
"public_index_url": "https://forgejo.coulomb.social/coulomb/frontend-patterns/raw/branch/main/registry/indexes/capabilities.yaml",
|
||||
"public_index_http_status": 200,
|
||||
"hosted_registration_http_status": 404,
|
||||
"credential_route": "reuse-surface-hub-write-token",
|
||||
"credential_owner": "railiance-platform / OpenBao",
|
||||
"registration_status": "blocked: routed credential unavailable to current operator session",
|
||||
"credential_output_retained": false,
|
||||
"consumer_roster_count": 0,
|
||||
"candidate_scan": "Local workplan titles for frontend/UI/navigation/dashboard/portal/editor/wizard/cockpit across active/ready/blocked/proposed plans. A title scan is not an exhaustive task-level eligibility review.",
|
||||
"candidates": [
|
||||
{
|
||||
"repo": "hub-core",
|
||||
"workplan": "HUB-WP-0006",
|
||||
"status": "blocked",
|
||||
"reason_not_enrolled": "No active consumer decision/outcome inspected or authorized by this session."
|
||||
},
|
||||
{
|
||||
"repo": "rapp-openbao",
|
||||
"workplan": "RAPP-OPENBAO-WP-0002",
|
||||
"status": "blocked",
|
||||
"reason_not_enrolled": "Operator access policy, not a qualified frontend architecture consumption task."
|
||||
}
|
||||
],
|
||||
"finished_examples_not_reopened": [
|
||||
"vergabe-teilnahme VT-WP-0003/0004",
|
||||
"state-hub STATE-WP-0048"
|
||||
],
|
||||
"consumer_instruction_ref": "feedback/ConsumerIntegration.md"
|
||||
}
|
||||
73
docs/evidence/2026-09-28-monthly-packet-fixture.json
Normal file
73
docs/evidence/2026-09-28-monthly-packet-fixture.json
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"basis": "built-image fixture; future October 1 clock; no production execution",
|
||||
"bytes": 1699,
|
||||
"report": {
|
||||
"repo": "frontend-patterns",
|
||||
"mode": "monthly",
|
||||
"generated_at": "2026-10-01T07:00:00+00:00",
|
||||
"status": "no_consumers",
|
||||
"execution_ready": false,
|
||||
"model_calls": 0,
|
||||
"eligible_tasks": null,
|
||||
"instrumented_repositories": 0,
|
||||
"source_revisions": [
|
||||
"frontend-patterns@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
],
|
||||
"receipt_events": 0,
|
||||
"duplicates": 0,
|
||||
"real_uses": 0,
|
||||
"synthetic_uses": 0,
|
||||
"outcomes": {},
|
||||
"decisions": {},
|
||||
"signals": [],
|
||||
"errors": {},
|
||||
"limits": [
|
||||
"Producer outcomes are not independently verified.",
|
||||
"No admitted budget-enforced repository executor; automatic edits disabled.",
|
||||
"Missing consumer instrumentation means coverage is unknown."
|
||||
],
|
||||
"workplan": "FEP-WP-0008",
|
||||
"executor_dependency": "GLAS-WP-0012 / HFACT-WP-0001",
|
||||
"window": {
|
||||
"start": "2026-09-01T00:00:00+02:00",
|
||||
"end_exclusive": "2026-10-01T00:00:00+02:00"
|
||||
},
|
||||
"review": {
|
||||
"basis": "owner snapshot; not live attestation",
|
||||
"as_of": "2026-09-28T09:15:00.370856+00:00",
|
||||
"stale": false,
|
||||
"health": {
|
||||
"schedule": "daily fired; collection failed",
|
||||
"collection": "deployed resolver missing",
|
||||
"verification": "no consumer outcomes verified",
|
||||
"publication": "0.1 pinned; repair not deployed",
|
||||
"rollback": "automatic proof pending",
|
||||
"executor": "not admitted"
|
||||
},
|
||||
"evidence_ref": "docs/evidence/2026-09-28-reporting-diagnosis.json",
|
||||
"decisions": [],
|
||||
"default": "Retain current policy/budgets; no new authority or maturity claim.",
|
||||
"research_cycles": 18,
|
||||
"measured_effort": {
|
||||
"research_minutes": {
|
||||
"known": 43.011,
|
||||
"unknown_cycles": 11
|
||||
},
|
||||
"execution_minutes": {
|
||||
"known": 3.222,
|
||||
"unknown_cycles": 11
|
||||
},
|
||||
"reported_tokens": {
|
||||
"known": 0,
|
||||
"unknown_cycles": 18
|
||||
},
|
||||
"cost_usd": {
|
||||
"known": 0,
|
||||
"unknown_cycles": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"unselected_signals": 0,
|
||||
"summary": "Frontend patterns monthly: no_consumers; 0 real uses, 0 unverified outcome signals. Automatic edits disabled."
|
||||
}
|
||||
}
|
||||
22
docs/evidence/2026-09-28-reporting-diagnosis.json
Normal file
22
docs/evidence/2026-09-28-reporting-diagnosis.json
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"checked_at": "2026-09-28T09:15:00.370856+00:00",
|
||||
"workplan": "FEP-WP-0008",
|
||||
"deployed_source_revision": "428f2d71b0f5ade11457e16d7b6341f571f6735f",
|
||||
"worker_image": "forgejo.coulomb.social/coulomb/activity-core@sha256:713bddad10a41950f446100a8b370fca8ccdd0b8969cccae751e3870c9c63ccd",
|
||||
"pod_created_at": "2026-09-27T19:58:36Z",
|
||||
"worker_ready": true,
|
||||
"argo_health": "Healthy",
|
||||
"daily_schedule_id": "activity-schedule-99f02c4c-161e-515d-926d-9e5d11d8411e",
|
||||
"failed_workflow_id": "activity-99f02c4c-161e-515d-926d-9e5d11d8411e:${firstScheduledTime}-2026-09-28T00:00:00Z",
|
||||
"failed_workflow_run_id": "01a0e54f-c690-7caa-bae6-81cd5ed32416",
|
||||
"error": [
|
||||
"temporalio.exceptions.ApplicationError: Required context source type 'frontend-patterns' is not registered"
|
||||
],
|
||||
"worker_module_inspection": {
|
||||
"frontend_patterns_module_exists": false,
|
||||
"package_init_imports_frontend_patterns": false
|
||||
},
|
||||
"diagnosis": "Source 428f2d7 changed worker from frontend overlay 77244c3 to grant-aware image 713bddad; resolver absent. Schedule fired, required-context failure stopped collection. Healthy pod/Argo status did not cover domain functionality.",
|
||||
"repair": "Overlay resolver onto current grant-aware image; do not roll back to the older image that lacks grants.",
|
||||
"production_mutation": false
|
||||
}
|
||||
25
docs/evidence/2026-09-28-reporting-repair.json
Normal file
25
docs/evidence/2026-09-28-reporting-repair.json
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"status": "approved_candidate_not_yet_deployed",
|
||||
"base_image": "forgejo.coulomb.social/coulomb/activity-core@sha256:713bddad10a41950f446100a8b370fca8ccdd0b8969cccae751e3870c9c63ccd",
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/activity-core@sha256:afd8a7af73132becba432e7b315d70f88d66676020169d5d8811641304136437",
|
||||
"upstream_source_revision": "428f2d71b0f5ade11457e16d7b6341f571f6735f",
|
||||
"tests_passed": 58,
|
||||
"changed_python_files": [
|
||||
"context_resolvers/__init__.py",
|
||||
"context_resolvers/frontend_patterns.py"
|
||||
],
|
||||
"all_other_python_source_hashes_unchanged": true,
|
||||
"grant_identity_preserved": true,
|
||||
"registry_added": [
|
||||
"frontend-patterns"
|
||||
],
|
||||
"monthly_fixture_ref": "docs/evidence/2026-09-28-monthly-packet-fixture.json",
|
||||
"production_mutation": false,
|
||||
"deployment_gate": "Existing 24-hour healthy observation invalidated by required-context failure; attended exact repair exception or admitted owner release lane required.",
|
||||
"gitops_tests_passed": 17,
|
||||
"server_dry_run": "passed; nine existing managed resources",
|
||||
"registry_digest_readback": true,
|
||||
"worker_image_patch": "integrations/activity-core/worker-image.patch",
|
||||
"rollback_revision": "428f2d71b0f5ade11457e16d7b6341f571f6735f",
|
||||
"authorization_decision": "abdea390-1039-4da1-b129-33aad00b4396"
|
||||
}
|
||||
134
docs/evidence/2026-09-28-reporting-schedules.json
Normal file
134
docs/evidence/2026-09-28-reporting-schedules.json
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
[
|
||||
{
|
||||
"id": "99f02c4c-161e-515d-926d-9e5d11d8411e",
|
||||
"name": "Frontend Patterns Daily Review",
|
||||
"enabled": true,
|
||||
"trigger_type": "cron",
|
||||
"schedule_id": "activity-schedule-99f02c4c-161e-515d-926d-9e5d11d8411e",
|
||||
"definition_source": "database",
|
||||
"sources": [
|
||||
"database",
|
||||
"temporal"
|
||||
],
|
||||
"trigger": {
|
||||
"cron_expression": "0 2 * * *",
|
||||
"trigger_type": "cron",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"jitter_seconds": 0,
|
||||
"timezone": "Europe/Berlin"
|
||||
},
|
||||
"cron_expression": "0 2 * * *",
|
||||
"at": null,
|
||||
"timezone": "Europe/Berlin",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"catchup_window_seconds": null,
|
||||
"jitter_seconds": 0,
|
||||
"temporal": {
|
||||
"status": "active",
|
||||
"schedule_id": "activity-schedule-99f02c4c-161e-515d-926d-9e5d11d8411e",
|
||||
"paused": false,
|
||||
"last_fired_at": "2026-09-28T00:00:00+00:00",
|
||||
"missed_catchup_window": 0
|
||||
},
|
||||
"drift_hints": [],
|
||||
"version": 1,
|
||||
"created_at": "2026-09-27T11:23:29.549570+00:00",
|
||||
"updated_at": "2026-09-27T11:23:29.549570+00:00",
|
||||
"side_effect": false,
|
||||
"trigger_config_public": {
|
||||
"cron_expression": "0 2 * * *",
|
||||
"trigger_type": "cron",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"jitter_seconds": 0,
|
||||
"timezone": "Europe/Berlin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "92e514a6-aeb8-5e22-9292-c62dd26dd757",
|
||||
"name": "Frontend Patterns Monthly Review",
|
||||
"enabled": true,
|
||||
"trigger_type": "cron",
|
||||
"schedule_id": "activity-schedule-92e514a6-aeb8-5e22-9292-c62dd26dd757",
|
||||
"definition_source": "database",
|
||||
"sources": [
|
||||
"database",
|
||||
"temporal"
|
||||
],
|
||||
"trigger": {
|
||||
"cron_expression": "0 9 1 * *",
|
||||
"trigger_type": "cron",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"jitter_seconds": 0,
|
||||
"timezone": "Europe/Berlin"
|
||||
},
|
||||
"cron_expression": "0 9 1 * *",
|
||||
"at": null,
|
||||
"timezone": "Europe/Berlin",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"catchup_window_seconds": null,
|
||||
"jitter_seconds": 0,
|
||||
"temporal": {
|
||||
"status": "active",
|
||||
"schedule_id": "activity-schedule-92e514a6-aeb8-5e22-9292-c62dd26dd757",
|
||||
"paused": false,
|
||||
"last_fired_at": null,
|
||||
"missed_catchup_window": 0
|
||||
},
|
||||
"drift_hints": [],
|
||||
"version": 1,
|
||||
"created_at": "2026-09-27T11:23:29.549570+00:00",
|
||||
"updated_at": "2026-09-27T11:23:29.549570+00:00",
|
||||
"side_effect": false,
|
||||
"trigger_config_public": {
|
||||
"cron_expression": "0 9 1 * *",
|
||||
"trigger_type": "cron",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"jitter_seconds": 0,
|
||||
"timezone": "Europe/Berlin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "562005f8-ef43-5a9d-83e2-f09e00e62b81",
|
||||
"name": "Frontend Patterns Weekly Review",
|
||||
"enabled": true,
|
||||
"trigger_type": "cron",
|
||||
"schedule_id": "activity-schedule-562005f8-ef43-5a9d-83e2-f09e00e62b81",
|
||||
"definition_source": "database",
|
||||
"sources": [
|
||||
"database",
|
||||
"temporal"
|
||||
],
|
||||
"trigger": {
|
||||
"cron_expression": "0 3 * * 2",
|
||||
"trigger_type": "cron",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"jitter_seconds": 0,
|
||||
"timezone": "Europe/Berlin"
|
||||
},
|
||||
"cron_expression": "0 3 * * 2",
|
||||
"at": null,
|
||||
"timezone": "Europe/Berlin",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"catchup_window_seconds": null,
|
||||
"jitter_seconds": 0,
|
||||
"temporal": {
|
||||
"status": "active",
|
||||
"schedule_id": "activity-schedule-562005f8-ef43-5a9d-83e2-f09e00e62b81",
|
||||
"paused": false,
|
||||
"last_fired_at": null,
|
||||
"missed_catchup_window": 0
|
||||
},
|
||||
"drift_hints": [],
|
||||
"version": 1,
|
||||
"created_at": "2026-09-27T11:23:29.549570+00:00",
|
||||
"updated_at": "2026-09-27T11:23:29.549570+00:00",
|
||||
"side_effect": false,
|
||||
"trigger_config_public": {
|
||||
"cron_expression": "0 3 * * 2",
|
||||
"trigger_type": "cron",
|
||||
"misfire_policy": "catchup_latest",
|
||||
"jitter_seconds": 0,
|
||||
"timezone": "Europe/Berlin"
|
||||
}
|
||||
}
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue