Skip to content

Reject ignored card parameters before proposal preview and approval - #3091

Draft
Chris0Jeky wants to merge 1 commit into
mainfrom
codex/3029-proposal-field-support-20260913
Draft

Chris0Jeky wants to merge 1 commit into
mainfrom
codex/3029-proposal-field-support-20260913

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Outcome

Closes #3029 after qualification and merge.

Move/delete and other card actions now reject the known create/update-only fields they ignore: title, description, dueDate, clearDueDate, replacement labels/labelIds, workItemType, parentCardId and clearParent. Presence matters, including null/false/empty values. The check runs before hierarchy reads so ignored parent fields cannot lead to misleading hierarchy/version errors. Existing relation/lifecycle batch rules, scope, estimates, concurrency, WIP, singular label verbs and create/update semantics remain unchanged.

The readable diff also renders due-date/replacement-label effects only for card create/update, independently protecting rendering from overstating effects. Generic draft creation remains shape-only; validated diff/preview/approval and execution policy share the rejection. No automatic payload rewrite or change to approval/Apply policy. Legacy archive remains Block, distinct from archive-lifecycle.

Implementation, tests and design

Six files: validator, one readable-diff condition, two dedicated test files, the agent-facing proposal vocabulary and docs/analysis/2026-09-13-proposal-parameter-support.md.

  • 126 application cases: 90 action/field combinations; eight null/false/case/alias variants; 16 supported create/update controls; six dedicated label aliases; non-card and board-scope controls; four direct renderer cases.
  • Four API cases using the existing SQLite WebApplicationFactory: three semantically invalid drafts refuse diff/preview/approval without mutating the card or PendingReview state; one date update normalizes its offset and changes state only after explicit Apply.
  • The design note covers the pre-hierarchy boundary, compatibility/error precedence, ordinal JSON names, draft-admission distinction, alternatives, isolation and exact validation commands.

These are supplied tests, not a local passing result. dotnet is absent; the attempted command fails to start. No C# compile, API/browser proof, red/green or memory/performance result is invented. Keep draft until exact-head hosted application/API/architecture/full required CI and review qualify the candidate. Local docs governance, GitHub-operations governance, relative links (700 Markdown files, zero broken links) and whitespace checks pass.

Isolation and handoff

Parent is actual main 2cdc4525766101211fe04787e23bfb46b6aa4011. Original changed-file blobs matched that main before editing; surrounding local files are the supplied older snapshot, not a complete current-main checkout. Remote runtime blobs match the local files. No edits to OperationHandlerRegistry or board JSON import/export, which remain independently owned, and no overlap with #3090's timezone work.

No new framework, dependency, schema, migration, controller, authority, notification/outbox or CI-control change. Canonical STATUS/MASTERPLAN and existing OUTSTANDING_TASKS.md human device/keyboard, screen-reader, translation, provider, release/hosting and CI-control decisions remain unchanged. No merge or deployment.

Address #3029 through the shared contract and defense-in-depth rendering. Preserve shape-only draft admission and existing execution semantics. Supply 126 application and four API cases plus vocabulary and design notes; local dotnet is unavailable.

Copy link
Copy Markdown
Owner Author

@codex review

Please inspect the known-field preflight before hierarchy validation, compatibility with valid card/label/relation/assignment operations, and the independent readable-diff guard. Review the new fixture construction and API refusal/explicit-Apply cases for compilation and meaningful behavior. Local dotnet is unavailable, so no local C# pass is claimed; this stays draft for exact-head hosted qualification.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-13T00:15:15.414159Z a7ad76e Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Chris0Jeky Chris0Jeky added backend Primary implementation impact in .NET API/domain/application/infrastructure. bug Something isn't working Priority IV Later maturity/deepening; revisited at horizon planning. labels Sep 13, 2026 — with ChatGPT Codex Connector

Copy link
Copy Markdown
Owner Author

Hosted evidence update at head a7ad76e, run 34727256057: Ubuntu Backend Unit job 103643562692 reports Run domain tests = success and Run application tests = success. CLI tests were still running. Windows application tests and both API lanes were still in progress at inspection. Architecture, docs governance, SAST and secret scanning had passed.

This supplies executable application-test evidence beyond the original local limitation, but is NOT a complete required-CI/API or review verdict. Local dotnet remains unavailable. The two new test files were read back and their Git blob hashes match the local files; fallback patch applicability was verified separately. Keep the PR draft until remaining qualification and review complete.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: a7ad76e09d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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

Labels

backend Primary implementation impact in .NET API/domain/application/infrastructure. bug Something isn't working Priority IV Later maturity/deepening; revisited at horizon planning.

Projects

Status: Pending

Development

Successfully merging this pull request may close these issues.

[Backend][Review] Preview still renders dueDate/label effects for move and delete operations that ignore them (sibling of #2950, from PR #3027 review)

1 participant