Skip to content

fix: route approved card publication by available identity - #12

Open
HaodiFan wants to merge 1 commit into
mainfrom
codex/approved-publish-identity-routing
Open

HaodiFan wants to merge 1 commit into
mainfrom
codex/approved-publish-identity-routing

Conversation

@HaodiFan

Copy link
Copy Markdown
Contributor

Design Doc: Approved Publish Identity Routing

Related issue

  • Issue: [Skill Feedback]: 固化定时会后校准的证据覆盖与只读边界 #10, 团队执行卡片必须以可执行任务为核心 #11
  • What was unsatisfactory: The execution-card rules covered evidence boundaries and person-led task content, but approved publication did not define how to select a sender identity for an external group. A valid user profile could be denied while a bot identity in the same profile could publish successfully.
  • Expected behavior: Before publishing, resolve the destination and probe the configured profile's user and bot capabilities. Prefer the user identity, fall back once to an in-group bot on the same profile when the user route is denied, and persist the actual sender and fallback reason in the receipt.

Optimization goal

Make approved publication deterministic across private chats and external groups, while preserving the existing content approval, idempotency, and no-Base-mutation boundaries.

Direction

Keep METAINFLOW_FEISHU_PROFILE as the only default profile. Add sender routing at the approved-publish boundary: user first, same-profile bot fallback when membership and readiness are confirmed, otherwise a blocked result with the exact reason. Keep the execution-card content contract person-led and require direct task/cell links only for registered deliverables.

Implementation plan

  • Skill sections to change: approved publish routing, execution-card structure, publication receipt contract.
  • Files to update: SKILL.md, references/daily-operations.md, tests/test_business_contracts.py, .evozeus-wrapper/CHANGELOG.md.
  • Backward compatibility: Scheduled runs remain proposal_only and private_draft; no automatic publish, Base mutation, status change, acceptance, or baseline change is added.

Verification plan

  • Source discovery check: verify the configured profile, destination chat, and both identity readiness states before publish.
  • Manual checks: user-denied/bot-available publishes once as bot; user-available publishes as user; both unavailable returns blocked; receipt records sender and fallback.
  • Regression cases: duplicate idempotency key does not resend; changed card fingerprint or destination invalidates approval; unregistered collaboration item has no fabricated link.
  • Preflight command: python3 .evozeus-wrapper/scripts/evozeus_wrapper_preflight.py doctor --repo MetaInFLow/metainflow-dev-tasks.

Release plan

  • Changelog entry: Unreleased patch for approved-publish identity routing and person-led card contract.
  • Release tag: next patch release after review and merge.
  • Release description summary: closes the publication gap observed while delivering the 2026-09-22 execution card.

Risks and rollback

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9923683a21

ℹ️ 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".

## Implementation plan

- Skill sections to change: approved publish routing, execution-card structure, publication receipt contract.
- Files to update: `SKILL.md`, `references/daily-operations.md`, `tests/test_business_contracts.py`, `.evozeus-wrapper/CHANGELOG.md`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Record the behavior change in the Unreleased changelog

This implementation plan explicitly includes .evozeus-wrapper/CHANGELOG.md, but the commit leaves that file untouched; its current Unreleased section only describes the earlier v0.15.0 harness upgrade. Because this repository treats the changelog as the Skill release fact source, the new sender-routing and execution-card contracts would be omitted from the next release record, including their related issues, verification, and rollback details.

Useful? React with 👍 / 👎.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant