# Watchdog Issue #1111 / #1112 / #1124 Milestones

## Goal

This document breaks the current watchdog closure push into execution-ready
milestones.

The milestones are designed to move the system from:

1. setup-noisy
2. readiness-ambiguous
3. partially issue-covered

to:

1. fail-closed on downstream env contract
2. explicitly covered for `#1111` / `#1112` / `#1124`
3. mostly exposing real business defects

## Milestone Map

| Milestone | Theme | Primary Outcome | Depends On |
| --- | --- | --- | --- |
| `M0` | baseline alignment | freeze scope, sources, and ownership | none |
| `M1` | readiness contract skeleton | every skip maps to a named missing contract bucket | `M0` |
| `M2` | overlay and baseline prove-before-run | watchdog stops running against the wrong downstream shape | `M1` |
| `M3` | quote / approval / order env closure | `#1124` main blockers become explicit and mostly env-unblocked | `M2` |
| `M4` | issue coverage expansion | watchdog gains direct case coverage for `#1111` / `#1112` / `#1124` gaps | `M2`, `M3` |
| `M5` | business-signal hardening | remaining failures are mostly real product defects | `M4` |

## `M0` Baseline Alignment

## Goal

Freeze the execution frame so the next milestones do not drift.

## Scope

1. confirm the tested object is the downstream assembled pack plus downstream env contract
2. confirm the current baseline:
   - `53` API cases
   - current skipped / failed distribution
3. freeze the three reference issue families:
   - `#1111`
   - `#1112`
   - `#1124`
4. freeze document ownership and slice order

## Outputs

1. [watchdog-issue-1111-1112-1124-case-closure-plan.md](/Users/bingwang/github/nexuscrm-pingcap-pack/.worktrees/exec-watchdog-issue-1111-1112-1124-plan/docs/watchdog-issue-1111-1112-1124-case-closure-plan.md)
2. [watchdog-downstream-env-contract-closure-plan.md](/Users/bingwang/github/nexuscrm-pingcap-pack/.worktrees/exec-watchdog-issue-1111-1112-1124-plan/docs/watchdog-downstream-env-contract-closure-plan.md)
3. this milestone document

## Exit Rule

1. there is one agreed milestone ladder
2. there is one agreed case-expansion backlog
3. there is one agreed env-closure backlog

## `M1` Readiness Contract Skeleton

## Goal

Turn coarse scene skips into explicit downstream contract failures.

Execution rule:

1. global pre-run gates must stay limited to shared stable baseline
2. narrow or mutation-heavy dependencies belong to scene readiness, not deploy/install verification

## Scope

1. define readiness bucket taxonomy
   - `overlay`
   - `baseline-seed`
   - `approval-env`
   - `order-metadata`
   - `security-bootstrap`
   - `reporting-fixture`
   - `integration-config`
2. map each scene to required readiness buckets
3. emit a structured readiness summary artifact per run
4. make skipped scenes report the exact missing bucket

## Main Deliverables

1. scene-to-readiness-bucket mapping
2. readiness summary artifact
3. workflow/report changes so skip reason is explicit

## Why First

Without this, later milestones still drown in ambiguous skip noise.

## Exit Rule

1. no scene skip is explained only as generic "needs-data"
2. every skipped scene points to a named missing contract bucket

## `M2` Overlay And Baseline Prove-Before-Run

## Goal

Fail closed when the downstream env is the wrong shape.

## Scope

1. define overlay-minimum contract
2. add post-deploy overlay verification
3. define shared baseline seed minimum
4. add baseline-seed verification before business cases run

## Main Deliverables

1. machine-readable overlay-minimum checklist
2. deploy/bootstrap verify step
3. baseline-seed health artifact

## Why Second

This is the largest single source of false business signal across `#1111` and
`#1112`.

## Exit Rule

1. watchdog cannot silently run on a greenfield or under-assembled env
2. missing overlay or shared graph fails before business-case execution

## `M3` Quote / Approval / Order Env Closure

## Goal

Close the biggest current issue-family blocker cluster from `#1124`.

## Scope

1. approval definition readiness
2. order record-type readiness
3. quote/order shared graph closure
4. actor/approver path closure for quote submit

## Main Deliverables

1. approval-env readiness bucket
2. order-metadata readiness bucket
3. explicit verify for quote/order source graph

## Related New Cases

1. `order-recordtype-readiness-api`
2. `approval-definition-readiness-api`
3. `quote-approval-submit-recall-browser`
4. `contract-upload-archived-file-browser`
5. `order-upload-archived-form-browser`

## Why Third

This is the shortest path to converting the highest-value failing scene from
env ambiguity into real business signal.

## Exit Rule

1. `#1124` main blockers are either explicitly env-failed or truly business-failed
2. quote / approval / order scene no longer hides behind indirect fixture errors

## `M4` Issue Coverage Expansion

## Goal

Make watchdog coverage claims against `#1111` / `#1112` / `#1124` explicit and
defensible.

## Scope

1. add direct describe parity cases for `#1112`
2. add browser-only UX cases for `#1111`
3. add remaining readiness-detail cases for currently coarse skipped scenes

## Main Deliverables

### `#1112` direct parity cases

1. `campaign-describe-contract-api`
2. `lead-describe-contract-api`
3. `campaign-member-describe-contract-api`
4. `campaign-member-status-describe-contract-api`

### `#1111` browser-only cases

1. `weekly-update-ui-behavior-browser`
2. `delete-recycle-bin-copy-browser`
3. `opportunity-subtabs-actions-browser`

### skip-refinement cases

1. `security-bootstrap-readiness-detail-api`
2. `reporting-definition-readiness-api`
3. `integration-webhook-readiness-api`

## Exit Rule

1. each major concern in `#1111` / `#1112` / `#1124` maps to an API case, browser case, or explicit non-goal
2. no major concern depends only on prose comments for proof

## `M5` Business-Signal Hardening

## Goal

After env and coverage closure, make the remaining failures trustworthy enough
to treat as product bugs by default.

## Scope

1. re-run the full API and browser watchdog suites
2. classify residual failures into:
   - runtime/API contract bug
   - logic bug
   - true deferred scope
3. remove or shrink stale coarse blockers
4. refresh scorecard and pass-rate framing

## Main Deliverables

1. updated coverage scorecard
2. updated residual blocker list
3. narrower list of real business defects

## Exit Rule

1. skipped cases are mostly intentional defers
2. failed cases are mostly true business or contract defects
3. pass-rate discussion is no longer dominated by downstream assembly noise

## Recommended Push Order

If the work must be staged across multiple PRs, use this order:

1. `M1` readiness contract skeleton
2. `M2` overlay and baseline prove-before-run
3. `M3` quote / approval / order env closure
4. `M4` issue coverage expansion
5. `M5` business-signal hardening

## Fastest Two-Milestone Starter

If only the first two milestones can start immediately, do:

1. `M1`
2. `M2`

Reason:

1. they improve every scene
2. they reduce the most false business noise
3. they unblock credible interpretation of later case work

## Cross-Links

1. [watchdog-issue-1111-1112-1124-case-closure-plan.md](/Users/bingwang/github/nexuscrm-pingcap-pack/.worktrees/exec-watchdog-issue-1111-1112-1124-plan/docs/watchdog-issue-1111-1112-1124-case-closure-plan.md)
2. [watchdog-downstream-env-contract-closure-plan.md](/Users/bingwang/github/nexuscrm-pingcap-pack/.worktrees/exec-watchdog-issue-1111-1112-1124-plan/docs/watchdog-downstream-env-contract-closure-plan.md)
