GPT Final Approval — D28 Deploy Live Smoke Prompt Rev5 — Stage1 Rerun Only
GPT Final Approval — D28 Deploy + Live Smoke Prompt rev5 — Stage 1 Re-run Only
Date: 2026-05-10
Reviewer: GPT-5.5 Thinking / Incomex Hội đồng AI
Reviewed:knowledge/dev/laws/dieu28-trien-khai/prompts/d28-deploy-and-live-smoke-prompt-review.mdrev5
Verdict
APPROVED FOR STAGE 1 CLEAN RE-RUN ONLY.
Rev5 correctly fixes the service-name drift discovered in Stage 1 rev2 and adds the needed substitution discipline.
This approval authorizes only:
RUN_STAGE=1_PREFLIGHT_ONLY
It does not authorize Stage 2 deployment/live-smoke.
Accepted rev5 fixes
Rev5 correctly includes:
SERVICE_NAME_RULEdistinguishing:- Compose service name =
nuxt; - container name =
incomex-nuxt.
- Compose service name =
- all
docker compose <verb> <name>calls usenuxt. - raw Docker command distinction is documented.
NO_UNDECLARED_SUBSTITUTION=truehard boundary.- expected behavior when prompt command fails:
- STOP;
- report drift;
- no workaround / no fall-through.
- Stage 1 report fields:
compose_service_name=nuxt;container_name=incomex-nuxt;service_name_rule_applied=true;undeclared_substitution_used=false.
- Stage 2 report fields for service-name binding.
- Stage 1 outcome routing explicitly rejects carry-forward from a run with undeclared substitution.
- Stage 2 Phase 1A verifies rev5 cleanliness before mutation.
- header/title correctly updated to Rev5.
Patch verification
The seven affected compose-service call sites have been corrected in rev5:
0D: docker compose ps nuxt
0G: docker compose ... port nuxt 3000
1B: docker compose ... ps nuxt --format '{{.Image}}'
1F: docker compose up -d nuxt
1G: docker compose ... ps nuxt --format '{{.State}}'
1H: docker compose ... logs --tail=50 nuxt
3B: docker compose up -d nuxt
This resolves the prior drift:
wrong: docker compose ... incomex-nuxt
right: docker compose ... nuxt
Stage 1 dispatch instruction
Đọc và thực hiện prompt:
knowledge/dev/laws/dieu28-trien-khai/prompts/d28-deploy-and-live-smoke-prompt-review.md
Run only:
RUN_STAGE=1_PREFLIGHT_ONLY
Purpose:
Clean re-run Stage 1 under rev5 service-name rule.
Expected report:
knowledge/dev/laws/dieu28-trien-khai/reports/d28-deploy-and-live-smoke-stage1-preflight-report.md
Critical instruction to Agent
The previous Stage 1 report rev2 is accepted as discovery evidence only. It is not the final Stage 1 baseline.
Agent must produce a new clean Stage 1 report under rev5 with:
preflight_status=PASS
service_name_rule_applied=true
undeclared_substitution_used=false
drift_detected=false
compose_service_name=nuxt
container_name=incomex-nuxt
status=AWAITING_DEPLOY_APPROVAL
If any prompt command fails due to service/file/image drift, Agent must STOP and report. No silent workaround.
Stage 1 hard boundaries
Agent must preserve:
no_deploy=true
no_smoke=true
no_image_tag_created=true
no_backup_image_tag_created=true
no_compose_modified=true
no_container_restarted=true
no_file_writes_outside_temp=true
no_directus_mutation=true
no_pg_mutation=true
no_publish_event_outbox=true
no_table_registry_mutation=true
no_docker_tag=true
no_docker_build=true
no_docker_run=true
no_docker_up=true
no_docker_restart=true
no_docker_logs=true
no_undeclared_substitution=true
Stage 1 allowed Docker operations only:
docker compose ps nuxt
docker compose config
docker compose port nuxt 3000
docker inspect redacted if needed
docker images for backup-tag conflict check
Do not do
- Do not run Stage 2.
- Do not deploy.
- Do not build a production image.
- Do not create backup image tag.
- Do not modify
docker-compose.yml. - Do not restart containers.
- Do not smoke routes.
- Do not publish
tbl_event_outbox. - Do not mutate Directus.
- Do not mutate PG.
- Do not mutate table_registry.
- Do not resume P3D.
After clean Stage 1 report
GPT/User must review the new Stage 1 report.
Only then can Stage 2 approval phrase be constructed using the new rev5 Stage 1 values:
proposed_new_image_tag
proposed_backup_image_tag
proposed_compose_backup_path
current_production_image
Stage 2 remains unauthorized until explicit approval.
Current state
prompt_rev5=APPROVED_FOR_STAGE1_CLEAN_RERUN_ONLY
previous_stage1_rev2=DISCOVERY_ONLY_NOT_FINAL_BASELINE
stage1_rerun_required=true
stage2_deploy_allowed=false
build_verify_status=PASS
generated_map_commits=0947613,d2db418
tbl_event_outbox.status=draft
notification_display=paused
p3d_resume_allowed=false
Final status
agent_dispatch_allowed_for_stage1=true
agent_dispatch_allowed_for_stage2=false
deploy_allowed=false
live_route_smoke_allowed=false
p3d_resume_allowed=false