docs: journey-traceability + iconography implementation#51
Conversation
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (20)
📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
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. Review rate limit: 0/1 reviews remaining, refill in 37 minutes and 2 seconds.Comment |
|
|
CodeAnt AI finished reviewing your PR. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit 3918eb0. Configure here.
| - name: Run assertions | ||
| env: | ||
| MANIFEST_LIST: ${{ steps.discover.outputs.MANIFEST_LIST }} | ||
| PHENOTYPE_JOURNEY_STRICT: ${{ inputs.strict_mode && 'true' || 'false' }} |
There was a problem hiding this comment.
Strict mode silently disabled on push/PR triggers
High Severity
The step-level PHENOTYPE_JOURNEY_STRICT env on the "Run assertions" step uses ${{ inputs.strict_mode && 'true' || 'false' }}, which evaluates to 'false' on push and pull_request events because inputs.strict_mode is empty/falsy when the trigger isn't workflow_dispatch. This overrides the top-level env (which correctly defaults to 'true'), causing assertions to run in non-strict mode on the most common CI triggers. Violations won't fail the build, contradicting the documented behavior.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 3918eb0. Configure here.
| name: Journey Gate — No Manifests Found | ||
| runs-on: ubuntu-latest | ||
| needs: journey-gate | ||
| if: needs.journey-gate.result == 'failure' && needs.journey-gate.outputs.MANIFEST_COUNT == '0' |
There was a problem hiding this comment.
Missing job outputs makes stub-mode job unreachable
Medium Severity
The stub-mode job condition checks needs.journey-gate.outputs.MANIFEST_COUNT == '0', but the journey-gate job never declares a job-level outputs: mapping. In GitHub Actions, step outputs are not automatically promoted to job outputs — they must be explicitly mapped via jobs.<id>.outputs. This means MANIFEST_COUNT is always empty, so the condition is never satisfied and the stub-mode job never runs.
Reviewed by Cursor Bugbot for commit 3918eb0. Configure here.
| -not -path "*/target/*" \ | ||
| -not -path "*/.git/*" \ | ||
| -not -path "*/vendor/*" \ | ||
| 2>/dev/null | sort) |
There was a problem hiding this comment.
Workflow dispatch manifest_path input is completely non-functional
Medium Severity
The manifest_path workflow_dispatch input (line 32) is never mapped to an environment variable, so MANIFEST_PATH on line 105 is always unset. Additionally, the resulting GLOB variable is only printed—it's never passed to the find command, which hardcodes -name "manifest.verified.json". Users who customize manifest_path via the Actions UI will see their value echoed but the search will ignore it entirely.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 3918eb0. Configure here.
|
CodeAnt AI is running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Sequence DiagramThis PR adds a Journey Gate GitHub Actions workflow that enforces the presence and validation of verified journey manifests, with strict assertions and optional live verification, and fails builds in stub mode when no manifests are found. sequenceDiagram
participant Developer
participant GitHub
participant JourneyGate
participant PhenotypeCLI
participant JourneyManifests
participant AnthropicAPI
Developer->>GitHub: Push or open pull request
GitHub->>JourneyGate: Trigger Journey Gate workflow
JourneyGate->>JourneyGate: Install tesseract and phenotype journey CLI
JourneyGate->>JourneyManifests: Discover verified manifest files
alt Manifests found
JourneyGate->>PhenotypeCLI: Validate and assert manifests in strict mode
opt Live verification enabled
JourneyGate->>AnthropicAPI: Run live verification for manifests
end
JourneyGate-->>GitHub: Report CI success
else No manifests found
JourneyGate-->>Developer: Fail stub mode and print guidance
end
Generated by CodeAnt AI |
| manifest_path: | ||
| description: 'Glob pattern for manifests (default: "**/manifest.verified.json")' | ||
| required: false | ||
| default: '**/manifest.verified.json' | ||
| strict_mode: | ||
| description: 'Run assertions in --strict mode (fail on violations)' | ||
| required: false | ||
| default: 'true' | ||
| type: boolean | ||
| live_verification: | ||
| description: 'Use --live mode (requires ANTHROPIC_API_KEY secret)' | ||
| required: false | ||
| default: 'false' | ||
| type: boolean | ||
|
|
||
| env: | ||
| PHENOTYPE_JOURNEY_STRICT: ${{ inputs.strict_mode || 'true' }} | ||
|
|
||
| jobs: | ||
| journey-gate: | ||
| name: Journey Verification | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 15 | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| # --------------------------------------------------------------------- | ||
| # 1. Install runtime dependencies | ||
| # --------------------------------------------------------------------- | ||
| - name: Install tesseract OCR | ||
| run: | | ||
| sudo apt-get update -qq | ||
| sudo apt-get install -y -qq tesseract-ocr \ | ||
| || { echo "WARNING: tesseract install failed — assertions will skip"; } | ||
|
|
||
| - name: Check tesseract availability | ||
| run: | | ||
| if command -v tesseract &>/dev/null; then | ||
| echo "tesseract: $(tesseract --version | head -1)" | ||
| else | ||
| echo "tesseract: NOT FOUND — OCR assertions will be skipped" | ||
| fi | ||
|
|
||
| # --------------------------------------------------------------------- | ||
| # 2. Install phenotype-journey CLI | ||
| # --------------------------------------------------------------------- | ||
| - name: Install phenotype-journey | ||
| run: | | ||
| if command -v phenotype-journey &>/dev/null; then | ||
| echo "phenotype-journey: $(phenotype-journey --version 2>/dev/null || phenotype-journey --help 2>&1 | head -1)" | ||
| else | ||
| echo "Installing phenotype-journey..." | ||
| # Install via cargo if available, else download binary | ||
| if command -v cargo &>/dev/null; then | ||
| cargo install phenotype-journey --locked \ | ||
| || { echo "ERROR: phenotype-journey install failed"; exit 1; } | ||
| else | ||
| # Download latest release binary (adjust URL as needed) | ||
| curl -fsSL https://github.com/KooshaPari/phenotype-journeys/releases/latest/download/phenotype-journey-x86_64-unknown-linux-gnu \ | ||
| -o /usr/local/bin/phenotype-journey \ | ||
| && chmod +x /usr/local/bin/phenotype-journey \ | ||
| || { echo "ERROR: phenotype-journey download failed"; exit 1; } | ||
| fi | ||
| fi | ||
|
|
||
| # --------------------------------------------------------------------- | ||
| # 3. Find all manifest.verified.json files | ||
| # --------------------------------------------------------------------- | ||
| - name: Discover manifests | ||
| id: discover | ||
| run: | | ||
| GLOB="${MANIFEST_PATH:-**/manifest.verified.json}" | ||
| echo "Glob pattern: $GLOB" | ||
|
|
||
| MANIFESTS=$(find . \ | ||
| -name "manifest.verified.json" \ | ||
| -not -path "*/node_modules/*" \ |
There was a problem hiding this comment.
🟠 Architect Review — HIGH
The workflow defines a manifest_path workflow_dispatch input but the discovery step ignores it, instead always running find . -name "manifest.verified.json", so configuring a custom manifest location has no effect.
Suggestion: Map the manifest_path input into an environment variable (e.g., MANIFEST_PATH) and use it in the discovery logic (e.g., via the GLOB variable) so manual runs and repo-specific layouts can actually control which manifests are validated.
Fix in Cursor | Fix in VSCode Claude
(Use Cmd/Ctrl + Click for best experience)
Prompt for AI Agent 🤖
This is an **Architect / Logical Review** comment left during a code review. These reviews are first-class, important findings — not optional suggestions. Do NOT dismiss this as a 'big architectural change' just because the title says architect review; most of these can be resolved with a small, localized fix once the intent is understood.
**Path:** .github/workflows/journey-gate.yml
**Line:** 32:110
**Comment:**
*HIGH: The workflow defines a `manifest_path` workflow_dispatch input but the discovery step ignores it, instead always running `find . -name "manifest.verified.json"`, so configuring a custom manifest location has no effect.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
If a suggested approach is provided above, use it as the authoritative instruction. If no explicit code suggestion is given, you MUST still draft and apply your own minimal, localized fix — do not punt back with 'no suggestion provided, review manually'. Keep the change as small as possible: add a guard clause, gate on a loading state, reorder an await, wrap in a conditional, etc. Do not refactor surrounding code or expand scope beyond the finding.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix|
CodeAnt AI finished running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
CodeAnt AI is running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Sequence DiagramThis PR adds a GitHub Actions Journey Gate that installs journey tooling, discovers journey manifests, validates them, and enforces assertions, failing in stub mode when no verified manifests exist. sequenceDiagram
participant Developer
participant GitHubActions
participant JourneyGate
participant JourneyCLI
Developer->>GitHubActions: Push or open PR
GitHubActions->>JourneyGate: Run Journey Gate workflow
JourneyGate->>JourneyGate: Install tesseract and phenotype-journey
JourneyGate->>JourneyCLI: Discover and validate manifests
JourneyCLI-->>JourneyGate: Manifest list and validation result
alt Manifests found and valid
JourneyGate->>JourneyCLI: Run assertions and optional live verify
JourneyCLI-->>JourneyGate: All checks pass
JourneyGate-->>GitHubActions: Mark Journey Gate check as passed
else No manifests
JourneyGate-->>GitHubActions: Fail in stub mode and emit guidance
end
Generated by CodeAnt AI |
| manifest_path: | ||
| description: 'Glob pattern for manifests (default: "**/manifest.verified.json")' | ||
| required: false | ||
| default: '**/manifest.verified.json' |
There was a problem hiding this comment.
🟠 Architect Review — HIGH
The workflow_dispatch input manifest_path is defined but never used in the discovery step, which always searches for manifest.verified.json via a hardcoded find command, so manually providing a custom manifest path has no effect.
Suggestion: Wire the manifest_path workflow input into the discovery logic (for example by mapping it to an environment variable and using it in the find/glob expression), or remove the input entirely to avoid exposing a non-functional configuration option.
Fix in Cursor | Fix in VSCode Claude
(Use Cmd/Ctrl + Click for best experience)
Prompt for AI Agent 🤖
This is an **Architect / Logical Review** comment left during a code review. These reviews are first-class, important findings — not optional suggestions. Do NOT dismiss this as a 'big architectural change' just because the title says architect review; most of these can be resolved with a small, localized fix once the intent is understood.
**Path:** .github/workflows/journey-gate.yml
**Line:** 32:35
**Comment:**
*HIGH: The `workflow_dispatch` input `manifest_path` is defined but never used in the discovery step, which always searches for `manifest.verified.json` via a hardcoded `find` command, so manually providing a custom manifest path has no effect.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
If a suggested approach is provided above, use it as the authoritative instruction. If no explicit code suggestion is given, you MUST still draft and apply your own minimal, localized fix — do not punt back with 'no suggestion provided, review manually'. Keep the change as small as possible: add a guard clause, gate on a loading state, reorder an await, wrap in a conditional, etc. Do not refactor surrounding code or expand scope beyond the finding.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix|
CodeAnt AI finished running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
CodeAnt AI is running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Sequence DiagramThis PR adds a GitHub Actions Journey Gate that runs on pushes and pull requests, installs required tooling, discovers journey manifests, validates them, and either fails in stub mode when none exist or enforces schema and assertion checks when they do. sequenceDiagram
participant GitHub
participant JourneyGateWorkflow
participant RepoManifests
participant PhenotypeCLI
GitHub->>JourneyGateWorkflow: Trigger workflow on push or pull request
JourneyGateWorkflow->>JourneyGateWorkflow: Install tesseract and phenotype journey CLI
JourneyGateWorkflow->>RepoManifests: Search for manifest verified files
alt No manifests found
JourneyGateWorkflow-->>GitHub: Fail gate with stub mode notice to add manifests
else Manifests found
JourneyGateWorkflow->>PhenotypeCLI: Validate each manifest against schema
JourneyGateWorkflow->>PhenotypeCLI: Run assertions in strict or non strict mode
opt Live verification enabled
JourneyGateWorkflow->>PhenotypeCLI: Run live verification using API key
end
JourneyGateWorkflow-->>GitHub: Report journey gate pass or fail summary
end
Generated by CodeAnt AI |
| manifest_path: | ||
| description: 'Glob pattern for manifests (default: "**/manifest.verified.json")' | ||
| required: false | ||
| default: '**/manifest.verified.json' | ||
| strict_mode: | ||
| description: 'Run assertions in --strict mode (fail on violations)' | ||
| required: false | ||
| default: 'true' | ||
| type: boolean | ||
| live_verification: | ||
| description: 'Use --live mode (requires ANTHROPIC_API_KEY secret)' | ||
| required: false | ||
| default: 'false' | ||
| type: boolean | ||
|
|
||
| env: | ||
| PHENOTYPE_JOURNEY_STRICT: ${{ inputs.strict_mode || 'true' }} | ||
|
|
||
| jobs: | ||
| journey-gate: | ||
| name: Journey Verification | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 15 | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| # --------------------------------------------------------------------- | ||
| # 1. Install runtime dependencies | ||
| # --------------------------------------------------------------------- | ||
| - name: Install tesseract OCR | ||
| run: | | ||
| sudo apt-get update -qq | ||
| sudo apt-get install -y -qq tesseract-ocr \ | ||
| || { echo "WARNING: tesseract install failed — assertions will skip"; } | ||
|
|
||
| - name: Check tesseract availability | ||
| run: | | ||
| if command -v tesseract &>/dev/null; then | ||
| echo "tesseract: $(tesseract --version | head -1)" | ||
| else | ||
| echo "tesseract: NOT FOUND — OCR assertions will be skipped" | ||
| fi | ||
|
|
||
| # --------------------------------------------------------------------- | ||
| # 2. Install phenotype-journey CLI | ||
| # --------------------------------------------------------------------- | ||
| - name: Install phenotype-journey | ||
| run: | | ||
| if command -v phenotype-journey &>/dev/null; then | ||
| echo "phenotype-journey: $(phenotype-journey --version 2>/dev/null || phenotype-journey --help 2>&1 | head -1)" | ||
| else | ||
| echo "Installing phenotype-journey..." | ||
| # Install via cargo if available, else download binary | ||
| if command -v cargo &>/dev/null; then | ||
| cargo install phenotype-journey --locked \ | ||
| || { echo "ERROR: phenotype-journey install failed"; exit 1; } | ||
| else | ||
| # Download latest release binary (adjust URL as needed) | ||
| curl -fsSL https://github.com/KooshaPari/phenotype-journeys/releases/latest/download/phenotype-journey-x86_64-unknown-linux-gnu \ | ||
| -o /usr/local/bin/phenotype-journey \ | ||
| && chmod +x /usr/local/bin/phenotype-journey \ | ||
| || { echo "ERROR: phenotype-journey download failed"; exit 1; } | ||
| fi | ||
| fi | ||
|
|
||
| # --------------------------------------------------------------------- | ||
| # 3. Find all manifest.verified.json files | ||
| # --------------------------------------------------------------------- | ||
| - name: Discover manifests | ||
| id: discover | ||
| run: | | ||
| GLOB="${MANIFEST_PATH:-**/manifest.verified.json}" | ||
| echo "Glob pattern: $GLOB" | ||
|
|
||
| MANIFESTS=$(find . \ | ||
| -name "manifest.verified.json" \ | ||
| -not -path "*/node_modules/*" \ |
There was a problem hiding this comment.
🟠 Architect Review — HIGH
The workflow_dispatch.inputs.manifest_path input is declared but never used: the Discover manifests step builds GLOB from MANIFEST_PATH (which is never set) and immediately ignores it by hard-coding find . -name "manifest.verified.json", so callers cannot override manifest discovery as documented.
Suggestion: Wire the manifest_path input into discovery by mapping inputs.manifest_path to an environment variable (e.g., MANIFEST_PATH) and using the resulting glob in the find invocation, or remove the unused input if configurability is not intended.
Fix in Cursor | Fix in VSCode Claude
(Use Cmd/Ctrl + Click for best experience)
Prompt for AI Agent 🤖
This is an **Architect / Logical Review** comment left during a code review. These reviews are first-class, important findings — not optional suggestions. Do NOT dismiss this as a 'big architectural change' just because the title says architect review; most of these can be resolved with a small, localized fix once the intent is understood.
**Path:** .github/workflows/journey-gate.yml
**Line:** 32:110
**Comment:**
*HIGH: The `workflow_dispatch.inputs.manifest_path` input is declared but never used: the Discover manifests step builds `GLOB` from `MANIFEST_PATH` (which is never set) and immediately ignores it by hard-coding `find . -name "manifest.verified.json"`, so callers cannot override manifest discovery as documented.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
If a suggested approach is provided above, use it as the authoritative instruction. If no explicit code suggestion is given, you MUST still draft and apply your own minimal, localized fix — do not punt back with 'no suggestion provided, review manually'. Keep the change as small as possible: add a guard clause, gate on a loading state, reorder an await, wrap in a conditional, etc. Do not refactor surrounding code or expand scope beyond the finding.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix|
CodeAnt AI finished running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
CodeAnt AI is running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Sequence DiagramThis PR adds a Journey Gate GitHub Actions workflow that runs on pushes and pull requests to main, installs the journey tooling, and enforces that verified journey manifests exist and pass validation and assertions before CI can succeed. sequenceDiagram
participant Developer
participant CI as Journey Gate workflow
participant JourneyCLI as Journey CLI
Developer->>CI: Push or open pull request to main
CI->>CI: Install tesseract and journey CLI
CI->>JourneyCLI: Discover manifest.verified.json files
alt Manifests found
CI->>JourneyCLI: Validate manifests and run strict assertions
JourneyCLI-->>CI: All checks pass
CI-->>Developer: Mark Journey Gate check as passed
else No manifests
JourneyCLI-->>CI: No manifests discovered
CI-->>Developer: Fail in stub mode and prompt to add manifests
Generated by CodeAnt AI |
| needs: journey-gate | ||
| if: needs.journey-gate.result == 'failure' && needs.journey-gate.outputs.MANIFEST_COUNT == '0' |
There was a problem hiding this comment.
🟠 Architect Review — HIGH
The stub-mode job's condition references needs.journey-gate.outputs.MANIFEST_COUNT, but the journey-gate job never defines any outputs, so the stub-mode "no manifests found" branch will never run even when there are zero manifests.
Suggestion: Define MANIFEST_COUNT as a job-level output on journey-gate (mapping from steps.discover.outputs.MANIFEST_COUNT) and have stub-mode read that output, or inline the stub notice into the failing journey-gate job when no manifests are found.
Fix in Cursor | Fix in VSCode Claude
(Use Cmd/Ctrl + Click for best experience)
Prompt for AI Agent 🤖
This is an **Architect / Logical Review** comment left during a code review. These reviews are first-class, important findings — not optional suggestions. Do NOT dismiss this as a 'big architectural change' just because the title says architect review; most of these can be resolved with a small, localized fix once the intent is understood.
**Path:** .github/workflows/journey-gate.yml
**Line:** 237:238
**Comment:**
*HIGH: The `stub-mode` job's condition references `needs.journey-gate.outputs.MANIFEST_COUNT`, but the `journey-gate` job never defines any outputs, so the stub-mode "no manifests found" branch will never run even when there are zero manifests.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
If a suggested approach is provided above, use it as the authoritative instruction. If no explicit code suggestion is given, you MUST still draft and apply your own minimal, localized fix — do not punt back with 'no suggestion provided, review manually'. Keep the change as small as possible: add a guard clause, gate on a loading state, reorder an await, wrap in a conditional, etc. Do not refactor surrounding code or expand scope beyond the finding.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix|
CodeAnt AI finished running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
CodeAnt AI is running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Sequence DiagramThis PR adds a Journey Gate GitHub Actions workflow that enforces journey manifest validation on pushes and pull requests, failing builds when manifests are missing or invalid and guiding teams to add proper journey coverage. sequenceDiagram
participant Developer
participant GitHubActions as GitHub Actions
participant JourneyGate as Journey Gate job
participant PhenotypeCLI as Phenotype journey CLI
participant StubJob as Stub notice job
Developer->>GitHubActions: Push or open pull request
GitHubActions->>JourneyGate: Run Journey Gate workflow
JourneyGate->>PhenotypeCLI: Install and check CLI and OCR tools
JourneyGate->>JourneyGate: Discover journey manifest files
alt Manifests found
JourneyGate->>PhenotypeCLI: Validate manifests and run assertions
PhenotypeCLI-->>JourneyGate: Return validation and assertion results
JourneyGate-->>GitHubActions: Report gate pass or fail
else No manifests found
JourneyGate-->>GitHubActions: Fail stub mode when no manifests
GitHubActions->>StubJob: Run stub job to print guidance
end
Generated by CodeAnt AI |
|
CodeAnt AI finished running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
CodeAnt AI is running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Sequence DiagramThis diagram shows how the new Journey Gate GitHub Actions workflow enforces journey manifest validation and assertions on pushes and pull requests, including its stub-mode behavior when no manifests are present. sequenceDiagram
participant Developer
participant GitHubActions
participant JourneyGate
participant JourneyCLI
participant JourneyManifests
Developer->>GitHubActions: Push or open pull request
GitHubActions->>JourneyGate: Trigger Journey Gate workflow
JourneyGate->>JourneyGate: Install tesseract and Journey CLI
JourneyGate->>JourneyCLI: Discover journey manifests
alt Manifests found
JourneyGate->>JourneyCLI: Validate manifests and run assertions
JourneyCLI-->>JourneyGate: All manifests valid and assertions passed
JourneyGate-->>GitHubActions: Mark Journey Gate check as passed
else No manifests found
JourneyGate-->>GitHubActions: Fail in stub mode and prompt to add manifests
end
Generated by CodeAnt AI |
|
CodeAnt AI finished running the review. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |





User description
Journey traceability docs + Fluent/Material iconography SVGs + CI gate. Stub manifests — populate to pass CI.
Note
Medium Risk
Adds a new GitHub Actions gate that installs external tooling and can fail all PRs/pushes when journey manifests are missing or invalid, which may block CI unexpectedly. Also introduces new doc/assets only, with minimal runtime risk beyond the CI workflow behavior.
Overview
Introduces a new
Journey GateGitHub Actions workflow (.github/workflows/journey-gate.yml) that installstesseractand thephenotype-journeyCLI, discoversmanifest.verified.jsonfiles, validates them, and runs assertion checks (optionally with live verification viaANTHROPIC_API_KEY). The workflow is currently configured to fail in stub mode when no verified manifests are present.Adds initial journey traceability documentation (
docs/operations/journey-traceability.md), a stub journey manifest (docs/journeys/manifests/main-flow.json), and an iconography spec plus new Fluent/Material SVG icon assets underdocs/operations/iconography/.Reviewed by Cursor Bugbot for commit 3918eb0. Bugbot is set up for automated code reviews on this repo. Configure here.
CodeAnt-AI Description
Add journey traceability docs, icon rules, and a manifest check in CI
What Changed
Impact
✅ Clearer journey documentation✅ Consistent icon usage✅ Fewer missing-manifest merges🔄 Retrigger CodeAnt AI Review
Details
💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.