KB-1DEF

6000x-input-contract — PR #669 comment + frontend/DevOps handoff

5 min read Revision 1
iu-core6000xnuxtpr-669handoffcounting-contract

04 — PR #669 comment + frontend/DevOps handoff

Branch: Nuxt PR / deploy closeout. Status: PR #669 OPEN/MERGEABLE; PR comment posted explaining unrelated Counting Contract Check failure. Merge remains the frontend/DevOps cut window per macro authority.

1. PR live state (re-verified this macro)

GET /repos/Huyen1974/web-test/pulls/669
{
  "number": 669,
  "state": "OPEN",
  "mergeable": "MERGEABLE",
  "mergeStateStatus": "UNSTABLE",
  "baseRefName": "main",
  "headRefName": "feat/iu-core-three-axis-envelope",
  "headRefOid": "e6a56598a8ddb910546e20c3f653d63bb994de77"
}

UNSTABLE is driven by a single failing check on this PR — see §2.

2. Failing check — Counting Contract Check (pre-existing drift)

Workflow: Nuxt 3 CI → job Counting Contract Check → step Verify Counting Contract (Điều 26 v2.1.1). Job log final lines:

CAT-ALL contract....... FAIL (CAT-ALL=1416064 != SUM(atom active)=1199853)
Composition levels..... PASS (all managed have composition_level)
Registry coverage...... PASS (169 collections tracked)
##[error]Counting Contract FAILED — Điều 26 violation
##[error]Process completed with exit code 1.

Why the failure is unrelated to this PR

The check queries live production data at directus.incomexsaigoncorp.vn/items/meta_catalognot any file shipped by this PR. The 216 211-row delta is drift in the live meta_catalog table, not in the patch's diff.

Patch boundary verification (greps against files in the PR's diff):

  • grep -E 'meta_catalog|composition_level|CAT-ALL' → 0 matches
  • grep -E 'pg|postgres|psycopg' → 0 matches

The PR diff touches only:

  • composables/useThreeAxisEnvelope.tsuseDirectus<>() reader.
  • pages/admin/iu-three-axis.vue — UI consuming the composable.
  • nuxt.config.ts patch — env wiring for the IU Core surface.

3. Functionally green on this PR's scope

Of 17 checks reporting on PR #669, 16 are SUCCESS and the 17th (Counting Contract Check) tests unrelated production state:

Workflow Job Status
Critical File Guard check-critical-files SUCCESS
E2E Tests e2e SUCCESS
Enforce Table Rule check-custom-tables SUCCESS
Nuxt 3 CI build SUCCESS (×2 runs)
Nuxt 3 CI Contract Schema Validation SUCCESS
Nuxt 3 CI Counting Contract Check FAILURE (pre-existing, unrelated)
Terraform Deploy Pass Gate SUCCESS
Terraform Deploy Quality Gate SUCCESS
Terraform Deploy E2E Smoke Test SUCCESS
Terraform Deploy Build Directus Artifact SKIPPED
required-docs-guard guard SUCCESS

4. Comment posted (URL is the handoff)

Comment URL: https://github.com/Huyen1974/web-test/pull/669#issuecomment-4527166744

The comment body explains the unrelated drift and lists the boundary greps. It explicitly routes resolution to frontend/DevOps under the Điều 26 counting-contract owner. No code change in this PR can fix the drift; rebasing the branch would be a no-op for this check.

5. Macro authority preserved (no over-reach)

  • No merge. The macro authority excludes merge.
  • No branch rebase / update. The patch is identical to 6000x; rebasing chases an unrelated failure and would risk other side effects.
  • No image rebuild. incomex-nuxt build is owned by frontend/DevOps.
  • No incomex-nuxt restart.
  • No deploy-vps.yml trigger. That workflow is gated on workflow_run of main; merging the PR is the only legitimate trigger.

6. Frontend/DevOps next-action checklist

  1. Resolve meta_catalog CAT-ALL drift (216 211-row delta) under Điều 26 ownership. The fix is in production data, not in Huyen1974/web-test source.
  2. Re-run Counting Contract Check (gh run rerun on the failed job) once meta_catalog is reconciled.
  3. With all checks green, merge PR #669; deploy-vps.yml will fire on workflow_run of main and redeploy incomex-nuxt.
  4. Verify post-deploy: route /admin/iu-three-axis returns 200 and reads the 163-row iu_three_axis_envelope collection through useDirectus<>.

Rollback (if the deploy goes wrong):

  • Revert the merge commit, re-trigger deploy-vps.yml.
  • Or incomex-nuxt rollback to the previously-running image tag (d28gmr-1778407456 per 5500x discovery — verify with docker ps --filter name=incomex-nuxt --format '{{.Image}}' immediately before merging).
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-6000x-input-contract-qdrant-ops-closeout-open-goal/04-pr-669-comment-handoff.md