Break Forgejo good-case delivery into four observable checkpoints
This commit is contained in:
parent
4367456d29
commit
bab3dd1c9d
5 changed files with 478 additions and 9 deletions
|
|
@ -79,3 +79,20 @@ flow before deciding whether a source change or rollout is needed. Publish its
|
|||
working owner commands and bounded measurements, then audit both functional
|
||||
milestones and the live hardening handoff. Source files remain authoritative;
|
||||
normal consistency/publication and exact Hub readback must verify this revision.
|
||||
|
||||
## Forgejo follow-through and publication
|
||||
|
||||
The read-only [Forgejo readiness check](forgejo-readiness.json) identifies the
|
||||
running upstream 11.0.3 image and its immutable runtime digest. The API and existing
|
||||
developer Git connection respond, while the login page has no NetKingdom option.
|
||||
The current release inventory is complete (T19). The next work is now split into
|
||||
four visible source tasks: T41 prepares the smallest existing-owner sign-in
|
||||
connection; T42 activates its exact reviewed/authorized revision; T43 verifies the
|
||||
real human account; T44 verifies coding-agent Git and authenticated API use.
|
||||
No blanket security-completion prerequisite or new runtime grant is implied.
|
||||
|
||||
The first refinement was normally published as `4367456d29069d7616d91b3b0cac549a09abf113`.
|
||||
[Primary readback](publication-readback.json) verified every original WP-80 binding
|
||||
and all 25 new WP-82 checkpoints, with all eight unrelated worktree/index states
|
||||
preserved exactly. The four additional functional tasks keep every original ID
|
||||
unchanged and use normal Repo Manager-assigned identifiers.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"observed_at": "2026-10-18",
|
||||
"observation_scope": "Read-only native/public metadata and ordinary existing Git connection; no authentication-source or deployment mutation",
|
||||
"deployment_uid": "e8eff0aa-64bb-4b44-9a80-a66612986355",
|
||||
"generation": 15,
|
||||
"ready_replicas": 1,
|
||||
"configured_image": "code.forgejo.org/forgejo/forgejo:11.0.3-rootless",
|
||||
"runtime_image_id": "code.forgejo.org/forgejo/forgejo@sha256:691657c7e64af7730a2e885e6d022cf16ae60724931c5392bd61838afadcaeba",
|
||||
"public_version_api": {
|
||||
"path": "/api/v1/version",
|
||||
"http_status": 200,
|
||||
"version": "11.0.3+gitea-1.22.0",
|
||||
"authenticated_consumer_proof": false
|
||||
},
|
||||
"public_login": {
|
||||
"path": "/user/login",
|
||||
"http_status": 200,
|
||||
"local_login_form": true,
|
||||
"netkingdom_keycape_oauth2_mentions": 0,
|
||||
"federated_signin_verified": false
|
||||
},
|
||||
"git_read": {
|
||||
"command": "git ls-remote origin refs/heads/main",
|
||||
"status": "passed",
|
||||
"observed_revision_before_refinement": "6dd619fdc7d1351fcdfd3fcac571a90b1925e3ac",
|
||||
"profile": "existing authenticated workstation developer SSH path",
|
||||
"independent_current_keycape_identity_proved": false
|
||||
},
|
||||
"next_functional_blocker": "No NetKingdom sign-in option. Prepare existing owner registration/custody/authentication-source connection using the current release first.",
|
||||
"remaining_checkpoints": [
|
||||
"CUST-WP-0080-T41",
|
||||
"CUST-WP-0080-T42",
|
||||
"CUST-WP-0080-T43",
|
||||
"CUST-WP-0080-T44"
|
||||
],
|
||||
"no_new_native_or_credential_authority": true
|
||||
}
|
||||
|
|
@ -0,0 +1,348 @@
|
|||
{
|
||||
"verified": true,
|
||||
"commit": "4367456d29069d7616d91b3b0cac549a09abf113",
|
||||
"primary_projection_exact": true,
|
||||
"workplans": [
|
||||
{
|
||||
"workplan_id": "dfadb19b-445e-59c6-bcd6-48e87b912c52",
|
||||
"source": "CUST-WP-0080-netkingdom-security-blueprint-and-gap-closure.md",
|
||||
"verified_tasks": 40,
|
||||
"bindings": [
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T01",
|
||||
"hub_task_id": "c770f7e1-25eb-53ec-9a37-1f7794077ff8",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T02",
|
||||
"hub_task_id": "5973026f-8ca9-5882-99fe-65a54bc250ac",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T03",
|
||||
"hub_task_id": "87637402-02f1-57c1-8fbc-4141598af8e3",
|
||||
"status": "progress"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T04",
|
||||
"hub_task_id": "82378b0f-7004-5c2f-9683-b356a1227576",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T05",
|
||||
"hub_task_id": "ed8b909a-23bf-5e5f-b600-e477fbae136b",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T06",
|
||||
"hub_task_id": "6aca534c-5c7a-556f-b6b6-406433670c29",
|
||||
"status": "progress"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T07",
|
||||
"hub_task_id": "bb236dea-30f7-5437-b01c-f14d2509e061",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T08",
|
||||
"hub_task_id": "18b885fe-503f-5ebc-b390-808f71316264",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T09",
|
||||
"hub_task_id": "a1f2dbe0-13d4-57a2-a2b5-c0137cd48410",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T10",
|
||||
"hub_task_id": "1f3c78af-5686-58ea-9133-8afc2df36b8f",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T11",
|
||||
"hub_task_id": "bffd4e10-2cf0-5835-a8d0-ae1763ca3873",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T12",
|
||||
"hub_task_id": "bb09e414-6d79-5dcd-b8e6-b73a046a4dda",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T13",
|
||||
"hub_task_id": "793e78f0-7782-5e48-bdc0-b65127b32ecb",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T14",
|
||||
"hub_task_id": "7ecbd622-03a8-5b49-9621-8d21d7d15890",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T15",
|
||||
"hub_task_id": "434d9c78-7789-5b78-8d9d-d87b0638b469",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T16",
|
||||
"hub_task_id": "e6183073-cc8e-5c6f-8fbd-db50bb1a466c",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T17",
|
||||
"hub_task_id": "4de46468-7ae2-59e3-be2b-1a32506153a5",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T18",
|
||||
"hub_task_id": "fd796e9c-dd70-5c65-a6fe-eafe3911bc8f",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T19",
|
||||
"hub_task_id": "4ffd2e33-d887-5686-bad1-7f32a56191a8",
|
||||
"status": "progress"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T20",
|
||||
"hub_task_id": "0d9df435-b9a2-5b89-833d-799785c969a9",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T21",
|
||||
"hub_task_id": "fa11a2a4-4dbd-5dfb-ad29-bc7a99cc6258",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T22",
|
||||
"hub_task_id": "88588db8-8c6e-5d15-a85b-2c068f4e8a2a",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T23",
|
||||
"hub_task_id": "266e228b-7754-5323-b0c6-37f860592d90",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T24",
|
||||
"hub_task_id": "a4f06ce0-69a5-5cbb-9d78-6c5b89ba9853",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T25",
|
||||
"hub_task_id": "3be1c76d-a5f3-5dea-9777-349dc97e836e",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T26",
|
||||
"hub_task_id": "0491b6b4-a238-58ef-bf3a-505749e5655c",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T27",
|
||||
"hub_task_id": "19540d29-c4df-5f1a-acf7-127965c9a396",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T28",
|
||||
"hub_task_id": "5ac99f55-0dde-5d1c-b88c-b85f34469abc",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T29",
|
||||
"hub_task_id": "3ec89fb2-fe97-50f5-a3c9-88b731b0d2ec",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T30",
|
||||
"hub_task_id": "457400ad-6c44-5160-a77a-63c6ad5acabc",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T31",
|
||||
"hub_task_id": "cbf32375-279a-5bf3-b867-06333a1ff2ca",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T32",
|
||||
"hub_task_id": "5a0cb7f7-1cd8-50ba-8af2-a2b13ed34a18",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T33",
|
||||
"hub_task_id": "4547ac4c-8893-54fe-ae6e-362682bb7920",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T34",
|
||||
"hub_task_id": "393b9fcc-323b-5182-92c6-44530fce7efb",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T35",
|
||||
"hub_task_id": "db274192-07d6-5be7-9c1e-d63c5a9fb57f",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T36",
|
||||
"hub_task_id": "586232a1-57b0-5e04-a61b-fb687bcc8999",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T37",
|
||||
"hub_task_id": "d533ca34-a691-5f8e-8cc2-5f408b679538",
|
||||
"status": "progress"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T38",
|
||||
"hub_task_id": "2350a829-bd8c-5c3b-9f39-07bfa1c3f228",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T39",
|
||||
"hub_task_id": "da6ae9a3-9107-5ca7-adb2-c9d85b3c529c",
|
||||
"status": "cancel"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0080-T40",
|
||||
"hub_task_id": "8e71f6f0-9fc3-509b-8f1b-768f7d9cbd0e",
|
||||
"status": "cancel"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"workplan_id": "b29f9f25-b508-5c2c-98fd-2f6877f109cf",
|
||||
"source": "CUST-WP-0082-netkingdom-security-hardening.md",
|
||||
"verified_tasks": 25,
|
||||
"bindings": [
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T01",
|
||||
"hub_task_id": "2ac61e1a-5a01-5ff9-ae35-017efe1e987c",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T02",
|
||||
"hub_task_id": "a88d7bbe-49d8-5dc0-a613-eeebb756bd0c",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T03",
|
||||
"hub_task_id": "55e99c7e-69de-523a-88f1-660c3f69edb0",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T04",
|
||||
"hub_task_id": "aa7112b1-e76e-520e-a59a-6aa4aa39b35d",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T05",
|
||||
"hub_task_id": "8e9c5b9a-8315-5efa-9cd3-00a113c6ea81",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T06",
|
||||
"hub_task_id": "a7cf387e-da06-5cca-8815-43a4ecbf8ea9",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T07",
|
||||
"hub_task_id": "c555c76a-00e8-5d07-9aef-7a4e6ac7ea11",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T08",
|
||||
"hub_task_id": "f1dbdb5d-30cb-5012-9fa5-e59520ba2aae",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T09",
|
||||
"hub_task_id": "88c0467d-b8b8-5972-b50a-2a87b51365fb",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T10",
|
||||
"hub_task_id": "5ddfe024-b823-51c9-ac4d-ec5e53c47346",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T11",
|
||||
"hub_task_id": "5b3767a0-5657-5ae3-b094-70e429a26617",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T12",
|
||||
"hub_task_id": "cbac0912-ac45-58d4-93db-8f49ac7750b2",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T13",
|
||||
"hub_task_id": "1903466c-674f-5025-acd7-873396c6d2fe",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T14",
|
||||
"hub_task_id": "38363478-e46b-54bd-972d-ce998f3b8dd0",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T15",
|
||||
"hub_task_id": "564a545a-b43d-5013-8f1b-e34cd54b52c7",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T16",
|
||||
"hub_task_id": "90c8fb36-9032-57e7-85da-684d18e5c0b1",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T17",
|
||||
"hub_task_id": "9e35af30-ec53-58f4-8517-5a5df85b6c79",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T18",
|
||||
"hub_task_id": "316d9fc2-27e3-53ce-809d-a50769fa9734",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T19",
|
||||
"hub_task_id": "9e26f419-0547-596a-bd0c-66b39f2d6ba8",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T20",
|
||||
"hub_task_id": "eef7e3d9-9cfb-5525-af82-a8cc1bba6e67",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T21",
|
||||
"hub_task_id": "d3dd8c35-284b-5035-a1a3-e0a0dbef86ba",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T22",
|
||||
"hub_task_id": "43a94f1e-e906-55ac-a837-d9ce5c495d6b",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T23",
|
||||
"hub_task_id": "4fda91f5-94c1-52fc-9dbd-c3693950165b",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T24",
|
||||
"hub_task_id": "2c92d61d-61ed-5813-a2e0-6e055c6cb564",
|
||||
"status": "todo"
|
||||
},
|
||||
{
|
||||
"task_id": "CUST-WP-0082-T25",
|
||||
"hub_task_id": "18cc3a93-f3ac-561c-84ce-8f009130c951",
|
||||
"status": "todo"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"unrelated_worktree_and_index_states_preserved": 8,
|
||||
"hardening_conformance_claimed": false
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"verified": true,
|
||||
"original_bindings_preserved": 40,
|
||||
"new_functional_breakdown_tasks": 4,
|
||||
"wp80_total_tasks": 44,
|
||||
"wp82_live_hardening_tasks": 25,
|
||||
"deferred_full_checkpoints_not_completed": 19,
|
||||
"actual_human_and_agent_playwright_trials": "passed",
|
||||
"forgejo_next_blocker": "NetKingdom sign-in option absent",
|
||||
"wp80_status_counts": {
|
||||
"done": 15,
|
||||
"progress": 4,
|
||||
"todo": 6,
|
||||
"cancel": 19
|
||||
},
|
||||
"prior_publication_proof": "publication-readback.json",
|
||||
"goal_complete": false
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue