Name:
[ADD] viin_ai_ops: Operating Layer foundation (P-OPS-1)
State:
Killed
finished in 264m
PR State:
merged
PR Author:
David Tran
PR Author Email:
PR:
#36
Committer:
David Tran
Committer Email:
davidtran.hp@gmail.com
Commit:
1e32b772454dbc76e1ce008e027ffa0a84cdeac9
Description:
[ADD] viin_ai_ops: Operating Layer foundation (P-OPS-1)
New Community-compatible module sitting between the AI capability layer
(viin_ai_agent) and external approval/workflow systems. Provides four
operating objects and the side-effect flow lock from operating-model.md §3.
Models:
- viin.ai.goal: typed operational goal (KPI / initiative / routine / risk_control)
- viin.ai.work.item: authoritative task state (draft -> in_progress -> done/cancelled)
- viin.ai.action.proposal: a side-effecting action awaiting governance routing
- viin.ai.control.policy: sequence-ordered rule routing proposals to
auto_execute / require_approval / block
Side-effect flow lock: medium/high risk proposals can never auto-execute;
action_route() forces them to 'pending' regardless of policy, and an
unmatched proposal defaults to 'pending' (safe default).
Smart buttons: Work Items count on viin.ai.agent; Proposals count on
viin.ai.trace. Multi-company ir.rule on all four models; control.policy is
read-only for standard users.
Also marks the viin.ai.schedule / viin.ai.approval.chain stub anchors in
viin_ai_agent as deprecated (module + class docstrings, removal checklist,
"deprecated" in _description) and adds a non-destructive migration scaffold.
Deprecation is documentation-only by design: no per-registry-load warning,
which would flood server/CI logs on every startup. FK anchors are kept
intact until the relations are migrated in a later phase.
Tests: 46 (viin_ai_ops) + stub-deprecation contract; full suite green
(0 failed, 0 error of 104 across viin_ai_ops + viin_ai_agent).
Branch:
17.0
Instance ID:
0
Age:
Up-time: