You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Lark tracer: explicitly saved approval rules and creator-authorization revocation #1033
A paired Lark approver with rule-saving capability explicitly saves an exact Tool Approval Rule or a separately disclosed supported broader rule, and Web/IM show its scope and revocation.
Acceptance criteria
Allow once remains the default; rule saving requires its own capability and a second confirmation.
An exact rule matches complete native tool input/name within the same PersonaBot role and Workspace Grant scope; demonstrate both a matching call and a nonmatching refusal/request.
All-opaque scope is displayed separately and separately confirmed; neither rule broadens existing native, Workspace or Service Grant authority.
Record the creating external authorization; revoking it disables its rules before future execution and re-pairing cannot restore them automatically.
Web and IM reflect the same saved rule and current status; repeated callbacks cannot create competing rules. Question answers never create rules.
Demonstrate rule creation, a real automatically approved matching call, mismatch and creator revocation through the actual UI.
Test through checked Provider and authenticated management/owning service boundaries; keep existing canonical persistence and no parallel content/decision authority.
Retain real sanitized screenshots/step evidence and maintain the affected English/Chinese tutorial section; UI changes include matched baseline/changed light/dark evidence and no private secrets.
Provide the exact-version runnable review path and focused behavioral coverage; pause for Human QA before expansion, without automatic merge/deployment.
Human-confirmed follow-up: approve this class of operation
The Human accepted the current PR interaction and requested a follow-up from Lark Allow once / 批准本次操作 to Web-equivalent reusable approval rules. Reuse this existing tracer; do not create a duplicate or widen the pairing-card PR #1418.
Refine this issue's acceptance with the current authorization model from #1406 / #1414:
Keep Allow once as the default. Offer Allow matching operations / 批准匹配的操作 as a distinct action, with a visible scope preview and explicit confirmation. Reuse the Web/native owning approval service and canonical Tool Approval Rule store.
Explain “this class” concretely: the first rule matches the same complete tool name and input, PersonaBot execution role and Workspace Grant scope. It is not a fuzzy natural-language similarity match, all future Shell commands, or all operations by this IM person. A broader supported all-opaque scope remains separately disclosed and separately confirmed, never a silently widened exact rule.
Rule creation requires current execution approval authority and a separate explicit save-rules capability. Extend the appropriate Role / authorization Group / person-exception controls and the shared effective resolver for this supported action; group membership and approve alone must not confer rule-saving authority. Preserve explicit Deny precedence and keep use/delegation separate where delegation is exposed.
Check current trusted actor, Bot, App Binding, native request/receipt, scope and authorization when confirming, including delayed controls. Record the exact creating external authorization and provenance. Creator revocation, a replaced Binding, or removal/Deny of required creator authority disables its rule for future matching approvals; re-pairing cannot resurrect it. Independent authority sources remain effective only if the current resolver permits them.
Web and IM show the same rule, scope and active/revoked status. Demonstrate creation, a real automatically approved exact match, a changed-input/scope mismatch requiring fresh approval, capability loss/Deny, revocation and restart. Replayed callbacks are idempotent; no additional rule or execution is created.
No implementation claim is made by this clarification. Existing ownership, native dependency on #1029, first-tracer Human feedback, and Project #10 sequencing remain authoritative. #1029 is currently closed; this issue is currently Todo with no claim comments or open PR found during this check.
Task: codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; claim remains active on codex/1033-lark-saved-rules.
Current Host #1455 head dbe952ad7f7261eac377d36c3694574b1e8cddaa; Provider #24 head bc795b9cb576c411f0c94997e025b72a94c4f1fb. Native QA used Host fca0d383; later commits only update documentation/screenshots/ledger wording.
The Human accepted the all-opaque first slice before expansion. Actual QA1: preview/Back left zero rules; fresh separately disclosed Confirm ALL saved one rule and executed A; new changed input B auto-matched with independent native audit and no extra card; changed Grant scope C required approval and Reject prevented execution; original scope restored, rule revoked/restart, identical B input D still required approval and Reject prevented execution.
Final actual refreshed Lark cards: C/D rejected with no controls; old rule receipt shows fixed disabled text with no input/buttons. An update interrupted by the deliberate restart recorded unknown-outcome; explicit idempotent revoke refreshed the same known receipt without creating a rule or execution. This is not an automatic-recovery claim.
The first actual candidate request exposed an IM-only missing canonical DM refusal. It did not execute. The public owner/checked-Provider regression reproduced the failure, then passed after on-demand canonical DM creation through the existing Channel Store; no old message was replayed.
Current native sequence, runnable path and visual limits. PR bodies embed current base/after/preview/result/different-input/disabled captures; GitHub rendered all 17 Host and 11 Provider images. Bilingual public tutorials include real scoped-rule captures. Head-bound HTML is shared in PR comments and its public download is byte-verified.
64 focused fix/approval/rule/store tests, Host typecheck/lint/full format/build and 476-page docs-content build passed; unchanged Provider has 86 passing related tests/build. Standards and Spec at the final heads have zero remaining findings. Current full verify passed. Preparation also passed at this exact head and does not publish.
Native Lark dark-theme capture remains unavailable because Lark ignored browser color-scheme changes; accepted Role-editor light/dark comparisons remain separate. Final HTML desktop/narrow visual inspection was interrupted by browser disconnection; navigation/title and public download were verified, but that responsive visual check is not claimed.
Read-only next-task audit: #1046 has no assignee/claim/comments and native prerequisite #1029 is closed; #1041 is similarly unclaimed with #1029 closed. Recheck claims/PRs before claiming either. #1404 still explicitly retains one-time code scope; it is a design Hub, not a duplicate implementation ticket. No new coding claim or receiver window was taken.
Host #1455 merged into main as 8392828804c71fa54ad802128526f481769adc01; Provider #24 merged into its existing codex/1111-inline-app-setup integration branch as 32d38b69a2bb8157f3f4baab3bc16ad13e238eea. Current reviewed Host head dbe952ad full verify/preparation passed; Provider 86 relevant tests/build passed. The merge preserves task provenance.
Exact and all-opaque first slices Human-accepted; remaining real scope/revoke/restart/final-card checks and public native sequence/screenshots are complete. The initial missing-DM refusal was reproduced and fixed through canonical Channel Store; old requests were not executed. The interrupted receipt update required an explicit idempotent refresh, as documented. Native dark-theme/HTML responsive inspection limits remain explicit in PR evidence.
Activity
DoodleBears commentedon Oct 11, 2026
Human-confirmed follow-up: approve this class of operation
The Human accepted the current PR interaction and requested a follow-up from Lark Allow once / 批准本次操作 to Web-equivalent reusable approval rules. Reuse this existing tracer; do not create a duplicate or widen the pairing-card PR #1418.
Refine this issue's acceptance with the current authorization model from #1406 / #1414:
all-opaquescope remains separately disclosed and separately confirmed, never a silently widened exact rule.save-rulescapability. Extend the appropriate Role / authorization Group / person-exception controls and the shared effective resolver for this supported action; group membership andapprovealone must not confer rule-saving authority. Preserve explicit Deny precedence and keep use/delegation separate where delegation is exposed.No implementation claim is made by this clarification. Existing ownership, native dependency on #1029, first-tracer Human feedback, and Project #10 sequencing remain authoritative. #1029 is currently closed; this issue is currently Todo with no claim comments or open PR found during this check.
17 remaining items
Record real scoped-rule QA and current-head review evidence
Document qualified Lark scoped-rule workflow with real screenshots
Align bilingual scoped-rule qualification evidence
Keep scoped-rule release entries focused on observable behavior
Bind review explainer to final documentation head
Normalize review artifact line endings
DoodleBears commentedon Oct 12, 2026
Agent progress — qualified scoped-rule native QA
Task:
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; claim remains active oncodex/1033-lark-saved-rules.dbe952ad7f7261eac377d36c3694574b1e8cddaa; Provider #24 headbc795b9cb576c411f0c94997e025b72a94c4f1fb. Native QA used Hostfca0d383; later commits only update documentation/screenshots/ledger wording.Read-only next-task audit: #1046 has no assignee/claim/comments and native prerequisite #1029 is closed; #1041 is similarly unclaimed with #1029 closed. Recheck claims/PRs before claiming either. #1404 still explicitly retains one-time code scope; it is a design Hub, not a duplicate implementation ticket. No new coding claim or receiver window was taken.
Lark: add separately confirmed scoped approval-rule cards (#24)
Lark: save scoped tool rules with current reviewer authority (#1455)
DoodleBears commentedon Oct 12, 2026
Agent work outcome — completed source tracer
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d768392828804c71fa54ad802128526f481769adc01; Provider #24 merged into its existingcodex/1111-inline-app-setupintegration branch as32d38b69a2bb8157f3f4baab3bc16ad13e238eea. Current reviewed Host headdbe952adfull verify/preparation passed; Provider 86 relevant tests/build passed. The merge preserves task provenance.