-
-
Notifications
You must be signed in to change notification settings - Fork 934
docs(governance): propose communication-protocol rule (Ask/Question/Propose/Alert) #795
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jordyamoedo
wants to merge
2
commits into
SynkraAI:main
Choose a base branch
from
jordyamoedo:contrib/communication-protocol
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+94
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| audit_finding: | ||
| version: "1.0" | ||
| id: "AF-20260614-communication-protocol" | ||
| date: "2026-06-14" | ||
| auditor: "external-contributor (@aiox-master in a consumer project)" | ||
| source_session: "Comparative audit of a hardened consumer fork against aiox-core v5.2.9" | ||
|
|
||
| context: | ||
| project: "a production consumer project (anonymized)" | ||
| epic: "framework learning-loop audit" | ||
| triggered_by: "Agents executing blindly under ambiguity, or staying silent on risks, for lack of a shared communication protocol" | ||
|
|
||
| finding: | ||
| summary: "There is no shared protocol for how agents communicate when they hit insufficient context, a flawed requirement, a better alternative, or a risk — so agents tend to execute blindly or stay silent to look efficient." | ||
| evidence: | ||
| - "No rule defines when an agent should ASK / QUESTION / PROPOSE / ALERT" | ||
| - "No alert-severity ladder (critical = HALT; high / medium / low)" | ||
| - "Without it, agents assume unprovided context, invent requirements, or ship incomplete output silently" | ||
| impact_observed: | ||
| blast_radius: "medium" | ||
| affected_artifacts: ["every agent interaction", "any task run under ambiguity"] | ||
| cost: "Wrong work shipped confidently; risks discovered late; rework" | ||
|
|
||
| framework_candidate: true | ||
| framework_candidate_rationale: | | ||
| Project-agnostic and posture-level: any agentic framework benefits from agents that | ||
| ask, question, propose, and alert instead of executing blindly. It's guidance (advisory), | ||
| not a gate — it raises quality without constraining freedom. | ||
| references: | ||
| - kind: pattern | ||
| path: "Agents are specialists, not blind executors — four modes" | ||
|
|
||
| proposed_disposition: | ||
| - "Add a communication-protocol rule with the four modes (Ask / Question / Propose / Alert)" | ||
| - "Add an alert-severity ladder (critical = HALT; high / medium / low)" | ||
| - "State the anti-patterns agents must avoid (silent execution under ambiguity, inventing requirements, hiding incomplete output)" | ||
57 changes: 57 additions & 0 deletions
57
governance/proposals/PROP-20260614-communication-protocol.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| framework_proposal: | ||
| version: "1.0" | ||
| id: "PROP-20260614-communication-protocol" | ||
| date: "2026-06-14" | ||
| proposer: "external-contributor (consumer-project audit)" | ||
| source_finding: "AF-20260614-communication-protocol" | ||
|
|
||
| target: | ||
| layer: "L2" | ||
| artifact_type: "rule" | ||
| artifact_path: ".claude/rules/communication-protocol.md (NEW)" | ||
| operation: "create" | ||
|
|
||
| generalization: | ||
| pattern_name: "Agents are specialists, not blind executors — four modes (Ask / Question / Propose / Alert)" | ||
| when_to_apply: | | ||
| Any agentic framework where agents execute tasks. Agents should not run blindly: | ||
| - ASK when context is insufficient (missing acceptance criteria, unknown stack, ambiguous scope) | ||
| - QUESTION when a requirement is flawed (unfeasible, disproportionate, obvious tech debt, regression risk) | ||
| - PROPOSE when a better path exists (an existing pattern, a more specialized agent, a quick win) | ||
| - ALERT when a risk is identified, by severity (critical = HALT for explicit confirmation; high/medium/low) | ||
| Focus is value delivery, not execution for its own sake. Agents never assume unprovided | ||
| context, never invent requirements, never execute silently under critical ambiguity, and | ||
| never deliver incomplete output without flagging it. | ||
| examples_from_other_domains: | ||
| - "A blind executor under ambiguous scope ships the wrong thing confidently" | ||
| - "An agent that spots a regression risk but stays silent to look efficient causes the regression" | ||
| - "An agent that proposes an existing pattern instead of re-creating one saves the whole team" | ||
|
|
||
| migration_path: | ||
| breaking_change: false | ||
| affected_consumers: [] | ||
| rollout_plan: | | ||
| Additive. Adds a posture/method rule for agents. No existing behavior changes; | ||
| it is guidance, not a blocking gate. | ||
| deprecation_plan: | ||
| deprecates: [] | ||
| sunset_window: "n/a" | ||
|
|
||
| cost_benefit: | ||
| cost: "~1 documentation rule" | ||
| benefit: | | ||
| Raises the quality of every agent in the framework: less blind execution under | ||
| ambiguity, fewer silent incomplete outputs, risks surfaced early. Universal and cheap. | ||
| risk: "low — additive; it is posture/method, advisory by nature" | ||
|
|
||
| approval: | ||
| eliel_decision: "PENDING" | ||
| eliel_decision_at: null | ||
| eliel_decision_rationale: "" | ||
| revision_request: [] | ||
|
|
||
| implementation: | ||
| pr_url: "" | ||
| merged_at: "" | ||
| distributed_to: [] |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
What are the current allowed reference kinds in the aiox-core audit-finding schema?💡 Result:
Based on the available documentation and codebase for aiox-core as of June 2026, there is no explicit entity titled "audit-finding schema" that defines a standardized list of "reference kinds." The aiox-core framework utilizes a multi-layered quality gate system [1][2] and specific workflow task definitions [3][4] to manage audits. Audit results and findings are typically structured as markdown reports (e.g., SCHEMA.md, DB-AUDIT.md) or processed via quality gate JSON schemas [3][1][5]. In these workflows, "references" are generally handled through: 1. Task and Action References: Workflows refer to external task definitions (e.g., db-schema-audit.md) and checklists (e.g., database-design-checklist.md) [5]. 2. Output Destinations: Findings are categorized by their output destination, which includes Memory, File, API, or Database [3]. 3. Quality Metrics: Automated audit metrics are governed by the quality-metrics.schema.json, which defines structure for layers, trends, and history, rather than specific "reference kinds" for findings [1]. If you are encountering a specific error message or schema validation requirement regarding "reference kinds," it may be related to custom implementation logic within your specific squad or project-level configuration, rather than a global schema definition in the core framework.
Citations:
🏁 Script executed:
Repository: SynkraAI/aiox-core
Length of output: 167
🏁 Script executed:
Repository: SynkraAI/aiox-core
Length of output: 94
🏁 Script executed:
Repository: SynkraAI/aiox-core
Length of output: 242
🏁 Script executed:
#!/bin/bash cat -n ./audits/promoted/AF-20260614-communication-protocol.yamlRepository: SynkraAI/aiox-core
Length of output: 2309
🏁 Script executed:
#!/bin/bash cat -n ./governance/templates/audit-finding-tmpl.yamlRepository: SynkraAI/aiox-core
Length of output: 2532
Change reference kind from "pattern" to "existing-pattern-source".
The
referencessection at lines 31–32 useskind: pattern, but the audit-finding template specifies allowed kinds as:ADR | code | hook | governance-doc | existing-pattern-source | voice-clone-finding | voice-clone-personas | handoff-contract | audit | proposal(governance/templates/audit-finding-tmpl.yaml, lines 38–39).Based on the reference content,
existing-pattern-sourceis the appropriate kind. Update line 31 accordingly.🤖 Prompt for AI Agents