Skip to content

Reconcile existing GitHub issue metadata against the lifecycle contract #459

Open

Description

@proerror77

Parent

#455

What to build

Perform one dry-run-first reconciliation of the existing Monday issue graph after the contract, lifecycle read/mutation commands, and auditor are merged. Preserve every comment and failure record; repair only approved labels, formatting, native relationships, and closure state after evidence-backed acceptance review.

Acceptance criteria

Blocked by

#456, #457, #458, #471, #607, #608, and #609 must merge first.

Runtime control

  • Named controller: Codex /root under the repository owner's authorization in the initiating task.
  • Target: GitHub issue, PR, label, and relationship metadata in proerror77/monday only.
  • Stop rule: stop before any closure whose acceptance cannot be proven from current repository/runtime evidence.
  • Rollback: restore bodies/labels/relationships from the immutable preflight export; reopen any issue closed incorrectly.

Activity

  1. added
    enhancementNew feature or request
    ready-for-agentFully specified and safe for an autonomous agent
    runtimeRequires deployment, runtime mutation, or live evidence for closure
    on Jul 29, 2026
  2. added
    needs-infoWaiting for reporter information
    and removed
    ready-for-agentFully specified and safe for an autonomous agent
    on Aug 2, 2026
  3. proerror77 commented on Aug 2, 2026

    @proerror77
    OwnerAuthor

    This was generated by AI during triage.

    Triage Notes

    What we've established so far:

    What we still need from you (@proerror77):

    • Confirm the durable immutable location for the preflight export and record its identity, digest, capture time, and source main SHA.
    • Approve the exact dry-run mutation set and restoration procedure derived from that export. Only then should this issue return to ready-for-agent with one active controller.
  4. proerror77 commented on Aug 2, 2026

    @proerror77
    OwnerAuthor

    This was generated by AI during triage.

    Evidence decision: bounded immutable preflight contract

    Decision

    Reuse Monday's existing canonical JSON plus SHA-256 sidecar pattern, persisted in a retained remote Git commit and unmerged evidence PR. Do not use GitHub Actions artifacts because their retention expires. Do not add a release, external object store, OCI repository, host service, or new evidence service for this governance operation.

    The current decision baseline is main@69e42c1b47a1d0ea91a595637ee8cff031e67f11. The actual preflight must re-read and bind the then-current default-branch SHA immediately before capture.

    Preflight identity

    Before any metadata mutation, the named controller Codex /root captures the target proerror77/monday Issue and PR graph only. Branch protection, deployment, runtime resources, source code, and the separately publishing Agent-led PRD are excluded.

    One retained, never-force-pushed evidence branch/PR must contain:

    • preflight.json and preflight.json.sha256 with the complete canonical repository Issue/PR graph.
    • manifest.json and manifest.json.sha256 binding schema version, repository identity, capture UTC, controller, target and exclusions, default-branch SHA, API version and media types, endpoint/page inventory, pagination completeness, per-page ETag or Last-Modified where available, object counts, and the preflight digest.
    • forward-plan.json listing every approved body, label, assignee, parent, blocker, and state mutation before execution.
    • reverse-plan.json derived from the preflight and containing the exact inverse for every mutable field.

    The snapshot covers every repository Issue and PR plus the label catalog. Issue data includes body, state and reason, labels, assignees, timestamps, comments, timeline/events, native parent/sub-issues, blocked-by/blocking relationships, and closing PR references. PR data additionally includes head/base identities, commits, files, reviews, review comments, check-runs, commit statuses, and closing references. Keys are canonicalized and arrays use stable IDs or documented order before hashing.

    The Candidate identity is the remote evidence commit SHA plus the verified preflight.json SHA-256 and evidence PR URL. A local worktree path is never part of the identity. The remote branch, commit, and PR must be independently readable from a fresh checkout/API client and must not be deleted.

    Zero-write restoration dry-run

    Any future mutation operation must append a content-addressed post-state receipt commit that binds the preflight commit, forward plan, controller, target, operation receipts, and canonical post-state digest. Restoration dry-run accepts the exact preflight commit and receipt commit only.

    It must:

    1. Fetch the exact remote commits and verify Git tree identities plus every SHA-256 sidecar.
    2. Re-fetch the same complete endpoint/page set and verify scope, pagination, default-branch SHA, ETags where available, and canonical digests.
    3. Refuse if live mutable state is not exactly the receipt state, if any endpoint/page is missing, or if any unplanned object changed.
    4. Print the complete reverse patch from receipt state to preflight state for body, labels, assignees, native parent/blocker relationships, and Issue state.
    5. Perform zero GitHub writes and exit nonzero on every mismatch.

    Comments and timeline/events are preserved provenance, not rollback targets: the controller must never edit, delete, recreate, or impersonate them. Any comment/event addition, edit, deletion, or unexplained drift stops automated restoration and requires named-controller review.

    Stop and rollback rules

    Stop before mutation or restoration on an unreachable evidence commit/ref, digest mismatch, API/schema/media-type drift, incomplete pagination, rate-limit/error response, default-branch drift, relationship discrepancy, missing post-state receipt, unexpected live-state change, or an incomplete reverse patch. Preserve all failed-operation receipts. Actual rollback is a separately authorized controller action after the zero-write reverse patch is reviewed; it never changes branch protection, #460, deployment, runtime resources, source code, or the Agent-led PRD lane.

    Readiness outcome

    #459 remains needs-info. No broad legacy mutation is authorized until the real remote preflight commit/PR, file digests, Candidate identity, forward/reverse plans, and independent readback exist. #460 and branch protection remain frozen.

  5. proerror77 commented on Aug 2, 2026

    @proerror77
    OwnerAuthor

    Evidence decision: durable preflight boundary (2026-08-03)

    Current evidence

    • Live Issue Lifecycle audit: 54 violations; this is a read-only work queue and is not a publication gate for the separate Agent-led PRD lane.
    • Default branch readback: main@8778004352e3157fa0950d50e16c9580208ae7bd.
    • The merged capture primitive is PR Capture content-addressed Issue lifecycle preflight #610 (merge 071a38b3d403c71a70e108cfeddf46df6024e7dc) plus observed GraphQL media provenance in PR fix(governance): bind observed GraphQL media type #615 (merge 20ca2a1c).
    • No retained full live preflight bundle, evidence commit/PR, forward plan, reverse plan, or independent restoration readback exists yet.

    Smallest safe contract

    Use the existing repository-native capture output: canonical preflight.json and manifest.json, each with its SHA-256 sidecar, written atomically with no overwrite. Capture must run against the then-current main SHA and include the complete Issue/PR graph, label catalog, comments/events, native relationships, closing references, PR head/base and review/check/status collections, page inventory, counts, API/media provenance, controller, target, and exclusions.

    Before any metadata mutation, preserve those four files plus forward-plan.json and reverse-plan.json in one retained, never-force-pushed remote Git commit and unmerged evidence PR. The content identity is (evidence commit SHA, preflight.json SHA-256, evidence PR URL); it must be readable from a fresh clone/API client and must not depend on a local worktree. Do not substitute expiring Actions artifacts or add an OSS/service.

    Zero-write restoration dry-run

    Given the exact preflight commit and post-state receipt commit, independently fetch both trees and verify every sidecar, scope, controller/target identity, default-branch SHA, page/pagination inventory, and canonical digest. Re-read the same live endpoint set and refuse on any concurrent mutable or provenance drift, missing page, API/media/schema/rate-limit error, or receipt mismatch. Print the complete canonical reverse patch for body, labels, assignees, native parent/sub-issue and blocked-by/blocking relationships, and Issue state; perform zero GitHub/filesystem writes. Comments/events and closing references remain provenance-only and are never edited or recreated. Actual rollback is a separately authorized controller action after review.

    Readiness

    #459 remains enhancement + needs-info + runtime. It must not return to ready-for-agent until the retained evidence commit/PR, file digests, Candidate identity, forward/reverse plans, and independent readback exist. #460 and branch protection remain frozen.

  6. proerror77 commented on Aug 2, 2026

    @proerror77
    OwnerAuthor

    Evidence update after #609: carrier remains the stop boundary

    • PR Plan zero-write Issue lifecycle restoration #628 merged the zero-write plan-restore contract at 25b6e6d15b5bffc7fb0894a87a07dbcf7e616e5b; Issue Plan zero-write Issue lifecycle restoration from an exact receipt #609 is closed with completion evidence.
    • A fresh live Issue Lifecycle audit still reports exactly 54 violations. No legacy Issue/PR metadata was mutated.
    • The previously proposed retained evidence PR is not a valid carrier for a strict full-graph preflight: creating or updating that PR changes the captured PR graph and immediately invalidates preflight/live equality.
    • A plain remote branch, tag, or unreferenced commit can carry content-addressed bytes without changing the Issue/PR graph, but the repository currently has no enforced immutable evidence-ref contract that prevents force-update/deletion while preserving independent discovery/readback. Adding that protection or a new artifact architecture is outside Reconcile existing GitHub issue metadata against the lifecycle contract #459's current authority.

    Therefore #459 remains enhancement + needs-info + runtime, unassigned. No formal full capture, forward plan, reverse-plan carrier, post-state receipt, or mutation is authorized. The next bounded decision is a separately reviewed repository-native immutable-carrier contract; until it exists, #460, required checks, branch protection, and the 54-item work queue remain frozen.

  7. proerror77 commented on Oct 4, 2026

    @proerror77
    OwnerAuthor

    This was generated by AI during triage.

    Keeping this runtime issue open. Missing evidence: an approved immutable evidence carrier, retained full preflight/Candidate identity and digests, approved forward/reverse plans, and independent post-reconciliation/restoration readback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-infoWaiting for reporter informationruntimeRequires deployment, runtime mutation, or live evidence for closure

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions