-
Notifications
You must be signed in to change notification settings - Fork 0
Fix/agent api readiness session30 #18
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
Changes from all commits
04a931c
b14c63c
a298711
d954115
94cc710
0535cbf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -19,15 +19,15 @@ All agents must query the **CLOUD API ONLY** to ensure single source of truth. D | |||||
| ```powershell | ||||||
| $base = "https://marco-eva-data-model.livelyflower-7990bc7b.canadacentral.azurecontainerapps.io" | ||||||
| Invoke-RestMethod "$base/model/agent-guide" # complete protocol | ||||||
| Invoke-RestMethod "$base/model/agent-summary" # all layer counts (4,339 objects) | ||||||
| Invoke-RestMethod "$base/model/agent-summary" # all layer counts | ||||||
| ``` | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
|
|
||||||
| **Component:** 37-data-model | ||||||
| **Status:** GA (Cloud Only) -- validate-model PASS 0 violations - **LOCAL SERVICE DISABLED (Mar 5)** - Cloud remains OPERATIONAL: **33 layers** (31→33 with Governance Plane L33-L34) - 4,339+ objects - ACA deployed (Cosmos 24x7, 100% uptime) - MTI=100 - **DATA-MODEL-FIRST ARCHITECTURE** (Bootstrap queries API, not files) - Evidence Layer LIVE (L31, patent-worthy) - Branch Protection ACTIVE | ||||||
| **Last Updated:** March 5, 2026 7:15 PM ET -- Data-model-first architecture COMPLETE: Layer 33 (workspace_config), Layer 34 (project_work), enhanced Layer 25 (projects with governance{}). Bootstrap now queries API for governance metadata vs reading 236 files. Pilot ready: 07-foundation-layer. | ||||||
| **Status:** GA (Cloud Only) -- validate-model PASS 0 violations - **LOCAL SERVICE DISABLED (Mar 5)** - Cloud remains OPERATIONAL: **41 layers** (33→41 with Agent Automation L33-L38) - ACA deployed (Cosmos 24x7, 100% uptime) - MTI=100 - **DATA-MODEL-FIRST ARCHITECTURE** (Bootstrap queries API, not files) - Evidence Layer LIVE (L31, patent-worthy) - Branch Protection ACTIVE | ||||||
| **Last Updated:** March 6, 2026 11:12 AM ET -- Session 30 COMPLETE: Layer 36 (deployment_policies), Layer 37 (testing_policies), Layer 38 (validation_rules). Agent automation layers operational. Documentation updated. | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
|
|
@@ -137,14 +137,23 @@ Layer 30 decisions ADRs (Architecture Decision Records) -- context/decisio | |||||
| Layer 31 evidence DPDCA phase completions – sprint_id, story_id, phase (D1/D2/P/D3/A), validation gates, merge blockers, metrics (cost, duration, coverage) | ||||||
| Layer 32 traces Emerging: LM call telemetry – model, tokens, cost_usd, latency_ms, correlation_id | ||||||
|
|
||||||
| # Governance plane (L13 – 2026-03-05) – data-model-first architecture | ||||||
| # Governance plane (L33-L34 – 2026-03-05) – data-model-first architecture | ||||||
| Layer 33 workspace_config Workspace-level best practices, bootstrap rules, data model config | ||||||
| Layer 34 project_work Active work sessions – replaces STATUS.md with queryable DPDCA sessions, tasks[], blockers[], metrics{} | ||||||
|
|
||||||
| **Architecture Evolution (March 5, 2026):** | ||||||
| # Agent automation plane (L35-L38 – 2026-03-05/06) – rules-as-code for CI/CD and quality gates | ||||||
| Layer 35 github_rules GitHub branch protection, PR checks, CI/CD policies per project | ||||||
| Layer 36 deployment_policies Container App config, resource limits, health probes, scaling policies | ||||||
| Layer 37 testing_policies Coverage thresholds (80-95%), CI workflows, test strategies | ||||||
| Layer 38 validation_rules Schema enforcement, compliance gates, data integrity checks | ||||||
|
|
||||||
| **Architecture Evolution (March 5-6-6, 2026):** | ||||||
|
||||||
| **Architecture Evolution (March 5-6-6, 2026):** | |
| **Architecture Evolution (March 5-6, 2026):** |
Copilot
AI
Mar 6, 2026
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.
These edited lines include multiple non-ASCII characters (Unicode dashes and arrows like "→" and "–"), which violates the repo's ASCII-only rule for Markdown. Replace Unicode arrows with "->" and Unicode dashes with "--" (and remove the warning emoji).
Copilot
AI
Mar 6, 2026
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.
Layer numbering is internally inconsistent here: the README defines Layer 33 as workspace_config and Layer 34 as project_work, but the "Session 28-29" bullet claims Layer 33=agent_policies and Layer 34=quality_gates. This makes the layer catalog self-contradictory; correct the layer numbers (or remove the conflicting Lxx labels) so governance vs agent automation layers don't overlap.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| # EVA Data Model - Agent User Guide | ||
|
|
||
| **Version:** 3.0 | ||
| **Last Updated:** March 5, 2026 8:30 PM ET | ||
| **Version:** 3.1 | ||
| **Last Updated:** March 6, 2026 11:12 AM ET | ||
| **Audience:** AI agents (GitHub Copilot, Claude, custom skills) | ||
|
|
||
| --- | ||
|
|
@@ -59,13 +59,91 @@ The API returns a JSON object with these sections: | |
| | `actor_header` | X-Actor for writes, Authorization for admin | | ||
| | `common_mistakes` | 9 lessons learned with error/cause/fix | | ||
| | `examples` | Before/after code showing safe patterns | | ||
| | `layers_available` | All 34 layers (services → project_work) | | ||
| | `layers_available` | All 41 layers (services → validation_rules) | | ||
| | `layer_notes` | Special cases (endpoints id format, services obj_id, wbs ado_epic_id) | | ||
| | `forbidden` | 7 rules: no model/*.json reads, no grep, no PATCH, etc. | | ||
| | `quick_reference` | All endpoints with one-line descriptions | | ||
|
|
||
| --- | ||
|
|
||
| ## Copy-Paste Quick Start | ||
|
|
||
| **3 working examples to get productive in 60 seconds:** | ||
|
|
||
| ### Response Structure (IMPORTANT!) | ||
|
|
||
| All layer endpoints return data wrapped in a standard structure: | ||
|
|
||
| ```json | ||
| { | ||
| "data": [...], // Your actual data array | ||
| "metadata": { // Query information | ||
| "total": 56, | ||
| "limit": null, | ||
| "offset": 0, | ||
| "_query_warnings": [] | ||
| } | ||
| } | ||
| ``` | ||
|
Comment on lines
+73
to
+87
|
||
|
|
||
| **Always access the `.data` property:** | ||
|
|
||
| ```powershell | ||
| # ✅ Correct - access .data property | ||
| $projects = (Invoke-RestMethod "$base/model/projects/").data | ||
|
|
||
| # ❌ Wrong - missing .data (shows empty table) | ||
| $projects = Invoke-RestMethod "$base/model/projects/" | ||
| ``` | ||
|
Comment on lines
+73
to
+97
|
||
|
|
||
| --- | ||
|
|
||
| ### Example 1: Get Endpoints for a Service | ||
| ```powershell | ||
| $base = "https://msub-eva-data-model.victoriousgrass-30debbd3.canadacentral.azurecontainerapps.io" | ||
| $endpoints = (Invoke-RestMethod "$base/model/endpoints/?service=eva-brain-api&limit=10").data | ||
| $endpoints | Select-Object id, method, path, status | Format-Table | ||
| ``` | ||
|
|
||
| ### Example 2: Count Projects by Maturity | ||
| ```powershell | ||
| $base = "https://msub-eva-data-model.victoriousgrass-30debbd3.canadacentral.azurecontainerapps.io" | ||
| $projects = (Invoke-RestMethod "$base/model/projects/").data | ||
| $projects | Group-Object maturity | Select-Object Name, Count | Format-Table | ||
| ``` | ||
|
|
||
| ### Example 3: Discover Layer Schema | ||
| ```powershell | ||
| $base = "https://msub-eva-data-model.victoriousgrass-30debbd3.canadacentral.azurecontainerapps.io" | ||
| # Get an example object to see all available fields (NO .data wrapper for /example) | ||
| $example = Invoke-RestMethod "$base/model/projects/example" | ||
| $example | Format-List | ||
|
|
||
| # Count total objects in this layer (HAS .data wrapper) | ||
| $all = (Invoke-RestMethod "$base/model/projects/").data | ||
| Write-Host "Total projects: $($all.Count)" | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## PowerShell Tip: Counting Nested Objects | ||
|
|
||
| When counting properties in nested objects from the API: | ||
|
|
||
| **❌ Don't use:** | ||
| ```powershell | ||
| $guide.common_mistakes.PSObject.Properties.Count # Prints "1 1 1 1 1 1 1 1 1" | ||
| ``` | ||
|
|
||
| **✅ Use instead:** | ||
| ```powershell | ||
| ($guide.common_mistakes.PSObject.Properties | Measure-Object).Count # Prints "9" | ||
| ``` | ||
|
|
||
| This is a PowerShell display quirk, not an API issue. | ||
|
|
||
| --- | ||
|
|
||
| ## Emergency: If API Is Down | ||
|
|
||
| If the API is unreachable, the backup guide is in your conversation history. But **ALWAYS try the API first** - it has the latest guidance including lessons learned from recent sessions. | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -259,15 +259,17 @@ async def list_layers(request: Request): | |||||
| """ | ||||||
| store = request.app.state.store | ||||||
|
|
||||||
| # List of all known layers (from layers.py) | ||||||
| # List of all known layers (from layers.py + Session 28-30 additions) | ||||||
| known_layers = [ | ||||||
| "services", "personas", "feature_flags", "containers", "schemas", | ||||||
| "services", "personas", "feature_flags", "containers", "endpoints", | ||||||
| "screens", "literals", "agents", "infrastructure", "requirements", | ||||||
| "planes", "connections", "environments", "cp_skills", "cp_agents", | ||||||
| "runbooks", "cp_workflows", "cp_policies", "mcp_servers", "prompts", | ||||||
| "security_controls", "components", "hooks", "ts_types", "projects", | ||||||
| "wbs", "sprints", "milestones", "risks", "decisions", "traces", | ||||||
| "evidence", "workspace_config", "project_work" | ||||||
| "runbooks", "cp_workflows", "cp_policies", "components", "hooks", | ||||||
| "ts_types", "mcp_servers", "prompts", "security_controls", "projects", | ||||||
| "wbs", "sprints", "milestones", "risks", "decisions", "evidence", | ||||||
| "traces", "workspace_config", "project_work", "agent_policies", | ||||||
| "quality_gates", "github_rules", "deployment_policies", "testing_policies", | ||||||
| "validation_rules" | ||||||
|
||||||
| "validation_rules" | |
| "validation_rules", "schemas" |
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.
This file introduces multiple non-ASCII characters (e.g., chart icon, box-drawing characters, Unicode arrows, star symbols). Repo convention is ASCII-only for all edited Markdown; replace these with plain ASCII (e.g., use "*" bullets, "->" arrows, and remove icon characters).