Implement Archify post-export visualization adapter - #3
Conversation
|
Warning Review limit reached
Next review available in: 57 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (49)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Add Sky Architecture IR normalization, Archify mappers, pinned bootstrap, CLI wrappers, contract tests, and optional sky visualize integration without coupling the core. Co-authored-by: Cursor <cursoragent@cursor.com>
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_8dd85243-2b08-47b0-b435-26988cbad426) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 315326f94c
ℹ️ 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".
Filter sequence messages by sequences.yaml provenance so architecture topology edges are not rendered as sequence steps, and resolve -Slug packages from SKY_OUTPUTS_DIR before local fallbacks. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.
You can send follow-ups to the cloud agent here.
Reviewed by Cursor Bugbot for commit 86bd09c. Configure here.
| (Join-Path $RepoRoot ".sky\sessions\$Slug\package"), | ||
| (Join-Path $RepoRoot "examples\sky-forge-packages\$Slug") | ||
| ) | ||
| $PackagePath = $candidates | Where-Object { Test-Path $_ } | Select-Object -First 1 |
There was a problem hiding this comment.
Slug resolves incompatible export directory
High Severity
When -Slug is used, the first existing candidate is Get-SkyOutputDirForSlug, but export-package.ps1 lays out brief.yaml and an architecture/ tree—not root architecture.yaml. The Archify adapter requires brief.yaml and architecture.yaml at the package root, so a typical post-export -Slug run fails even after a successful export.
Reviewed by Cursor Bugbot for commit 86bd09c. Configure here.
| type: toArchifyType(milestones[0].kind), | ||
| label: shortenLabel(milestones[0].name), | ||
| sublabel: milestones[0].name, | ||
| }); |
There was a problem hiding this comment.
Workflow duplicates milestone node id
Medium Severity
If workflow evidence has milestones but no package gates, working already contains milestone nodes and the mapper adds milestones[0] again on the delivery lane with the same id, producing duplicate workflow nodes in the Archify JSON.
Reviewed by Cursor Bugbot for commit 86bd09c. Configure here.
| & (Join-Path $PSScriptRoot 'visualize.ps1') @vArgs | ||
| if ($Slug) { | ||
| Invoke-AgentAudit $Slug 'delivery-steward' 'visualize.archify' 'invoke_skill' 'ok' "renderer=$Renderer" | ||
| } |
There was a problem hiding this comment.
Audit logs success after visualize fails
Medium Severity
The new visualize command always calls Invoke-AgentAudit with status ok when -Slug is set, without checking the exit code from visualize.ps1, so failed visualization runs are recorded as successful in the audit trail.
Reviewed by Cursor Bugbot for commit 86bd09c. Configure here.


Summary
tt-a1i/archify@2.11.0viaARCHIFY.lock.json+ bootstrap explícito (sem download silencioso).sky visualize/scripts/sky/visualize.ps1sem acoplar o core.surya-workspace-mvp.Test plan
cd plugins/examples/archify && npm install && npm test(17/17)./scripts/sky/check-core-agnostic.ps1./scripts/sky/validate-profile.ps1 -Profile consulting-handoff -PackagePath examples/sky-forge-packages/surya-workspace-mvp -FixtureModenode plugins/examples/archify/scripts/visualize.mjs --package examples/sky-forge-packages/surya-workspace-mvp --output .tmp/archify/surya-workspace-mvp --views architecture,workflow,sequence<svg>e manifesto com hashesNotas
--quality; o perfil fica na IR/manifesto.sequences.yaml) — comportamento esperado.Note
Medium Risk
Large new surface (IR contract, external Archify pin, sanitization of secrets in diagrams) but isolated under optional plugins; core failure modes are limited to the new visualize entrypoint when the plugin is present.
Overview
Adds an optional post-export path: exported Sky packages → Sky Architecture IR → Archify JSON → validate/render/check → HTML and a provenance manifest, without making Archify part of core generation.
New contract and plugin: Versioned
schemas/sky-forge/sky-architecture-ir.schema.yamland a removable example atplugins/examples/archify/(normalize, IR validation, architecture/workflow/sequence mappers, secret sanitization, manifest with hashes). Archify is pinned inARCHIFY.lock.jsonwith explicit bootstrap only—no silent download duringvisualize.CLI:
sky visualizeandscripts/sky/visualize.ps1delegate to the plugin; if the plugin is missing, the command prints guidance and exits 0 so validate/export andcheck-core-agnosticstay unchanged.Docs/tests: ADR-0007, plugin docs, task checklist updates, fixtures, and
node:testcontract tests (including core-agnostic checks)..tmp/is gitignored for generated previews.Reviewed by Cursor Bugbot for commit 86bd09c. Bugbot is set up for automated code reviews on this repo. Configure here.