Skip to content

t3748: Fix quality-debt from PR #128 review feedback#4052

Merged
marcusquinn merged 3 commits intomainfrom
bugfix/humanise-quality-debt
Mar 10, 2026
Merged

t3748: Fix quality-debt from PR #128 review feedback#4052
marcusquinn merged 3 commits intomainfrom
bugfix/humanise-quality-debt

Conversation

@marcusquinn
Copy link
Copy Markdown
Owner

@marcusquinn marcusquinn commented Mar 10, 2026

Summary

Addresses all unactioned review feedback from PR #128 (humanise subagent introduction), filed as quality-debt issue #3748.

Changes

Shell script (humanise-update-helper.sh):

  • Replace GNU-only sort -V with portable version_leq() function using bash arithmetic — fixes cross-platform compatibility on macOS/BSD where sort -V is unavailable
  • Add missing-file guard in cmd_diff() — previously could proceed silently when the subagent file was missing, masking errors
  • Strip YAML frontmatter before diffing — the comment said "ignore frontmatter differences" but diff -u was comparing full files including frontmatter
  • Add explicit return 0 to cmd_version, cmd_diff, cmd_help per project shell conventions

Markdown (humanise.md):

  • Fix MD022: add blank > lines around blockquote headings in "Title Case in Headings" section
  • Fix curly quotes example: "Before" now shows actual curly quotes ("...") to demonstrate the pattern, "After" shows straight quotes

Documentation (content.md):

  • Add Humanise as step 4 in the pipeline stages (Research → Story → Production → Humanise → Distribution → Optimization), renumbering subsequent steps

Review feedback sources

  • CodeRabbit: 4 actionable comments (sort -V, missing-file guard, blockquote MD022, workflow list)
  • Augment: 2 suggestions (curly quotes example, diff frontmatter comment)
  • Gemini: 1 suggestion (curl stderr — already fixed in merged PR)

Closes #3748

Summary by CodeRabbit

  • New Features

    • Added a Humanise entry and route, inserted into the content pipeline between Production and Distribution.
  • Documentation

    • Updated Humanise doc with sentence-style headings and consistent typographic quotation marks.
    • Updated pipeline diagram, quick-reference text, and step numbering to reflect Humanise as step 4 (Distribution → step 5, Optimization → step 6).
  • Chores

    • Improved CLI helper for version checks, commands/aliases, and diffs that ignore frontmatter.
  • Cleanup

    • Removed Humanise from legacy tools listing and updated public declarations ordering.

- Replace GNU-only sort -V with portable version_leq() for cross-platform
  version comparison (macOS/BSD compatibility)
- Add missing-file guard in cmd_diff() to fail fast when subagent file
  is missing instead of silently proceeding
- Strip YAML frontmatter before diffing to match the comment's stated
  behaviour (was comparing full files including frontmatter)
- Add explicit return 0 to cmd_version, cmd_diff, cmd_help functions
- Fix MD022: add blank lines around blockquote headings in humanise.md
- Fix curly quotes example: Before now shows actual curly quotes
- Add Humanise step to content.md pipeline stages (was missing)

Closes #3748
@gemini-code-assist
Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions github-actions bot added the bug Auto-created from TODO.md tag label Mar 10, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 10, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 83f684be-f275-46a7-8356-81a1e4e51d97

📥 Commits

Reviewing files that changed from the base of the PR and between e2ba26f and 8f7650b.

📒 Files selected for processing (2)
  • .agents/content.md
  • .agents/scripts/humanise-update-helper.sh

Walkthrough

Adds a new public subagent content/humanise.md (route /humanise), inserts Humanise into the content pipeline between Production and Distribution (reordering downstream steps), normalizes humanise.md formatting, and refactors humanise-update-helper.sh with a portable version comparator, improved caching, and frontmatter-aware diffs.

Changes

Cohort / File(s) Summary
Manifest & Pipeline Integration
​.agents/content.md
Added content/humanise.md (/humanise) to public subagents, removed legacy humanise entry, and reordered pipeline so Distribution → position 5 and Optimization → position 6.
Subagent Documentation
​.agents/content/humanise.md
Normalized heading capitalization to sentence-style and adjusted curly/straight quotation examples and example formatting.
Update Helper Script Refactor
​.agents/scripts/humanise-update-helper.sh
Large refactor: added portable version_leq() comparator, normalized unknown/missing version semantics, improved cache/version file handling, rewrote upstream fetch/caching logic, stripped YAML frontmatter before diffs, simplified command dispatch and aliases, and assorted shellcheck-friendly tweaks. (~+280/-196 lines)

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Script as humanise-update-helper.sh
  participant Local as Local FS/Cache
  participant Upstream as Remote Repo

  User->>Script: cmd_check / cmd_version / cmd_diff
  Script->>Local: read local subagent file & local version
  Script->>Upstream: fetch upstream (use cache or git archive)
  Upstream-->>Script: upstream content & version
  Script->>Local: write cache + cache-version file
  Script->>Script: strip_frontmatter(local, upstream)
  Script->>Script: version_leq(local, upstream) -> compare
  alt local == upstream
    Script-->>User: "up-to-date"
  else local < upstream
    Script-->>User: "update available"
  else local > upstream
    Script-->>User: "local newer/anomalous"
  end
  opt cmd_diff
    Script->>User: show diff (frontmatter removed) + upstream commit URL
  end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

✨ A Humanise step slides into line,
Polishing prose, one gentle refine.
Versions compared, caches keep time,
Frontmatter stripped to show the rhyme.
Scripts made tidy — a tiny devops chime.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective: addressing quality-debt from PR #128 review feedback, which aligns with the referenced issue #3748 and the primary scope of the changeset.
Linked Issues check ✅ Passed The PR comprehensively addresses all objectives from issue #3748: portable version comparison (version_leq), missing-file guards, YAML frontmatter stripping (awk-based), exit code handling, unknown version guards, markdown fixes (MD022, curly quotes), and correct Humanise pipeline placement.
Out of Scope Changes check ✅ Passed All changes are tightly scoped to the quality-debt fixes: humanise-update-helper.sh robustness improvements, humanise.md formatting corrections, and content.md manifest consistency—no unrelated changes detected.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bugfix/humanise-quality-debt

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 399 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Tue Mar 10 05:44:10 UTC 2026: Code review monitoring started
Tue Mar 10 05:44:11 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 399

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 399
  • VULNERABILITIES: 0

Generated on: Tue Mar 10 05:44:13 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

coderabbitai[bot]
coderabbitai bot previously requested changes Mar 10, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.agents/content.md:
- Around line 79-87: The manifest currently treats Humanise inconsistently—it's
listed as a stage (`Humanise`, `content/humanise.md`, `/humanise`) in the
pipeline section but remains omitted from the Quick Reference pipeline
(`Production → Distribution`) and is still declared under legacy tools in the
frontmatter `subagents:` block; update the Quick Reference to include the
Humanise stage in the correct order (e.g., Production → Humanise →
Distribution), remove or relocate `humanise` from the legacy `subagents:`
frontmatter so it appears under the active pipeline stages, and ensure the path
`content/humanise.md` and route `/humanise` are referenced consistently across
the manifest.

In @.agents/scripts/humanise-update-helper.sh:
- Around line 176-190: The compare_versions function returns 0 (same), 1 (local
older/upstream newer) and 2 (local newer/upstream behind), but the existing if
collapses 1 and 2; change the block that calls compare_versions with
upstream_tracked and upstream_latest to capture its exit status (e.g., call
compare_versions ...; rc=$?) and branch explicitly: if rc==0 print "Up to date"
and return 0; if rc==1 print the existing "UPDATE AVAILABLE" message and return
1; if rc==2 print a distinct warning that the tracked version is ahead of
upstream (mention upstream_tracked/upstream_latest) and return 2 so callers can
detect this state. Ensure you reference compare_versions, upstream_tracked and
upstream_latest when making the conditional branches.
- Around line 33-39: The version extraction pipelines in
.agents/scripts/humanise-update-helper.sh (the blocks that read the subagent
file and run grep/sed/tr to extract version: and upstream_version:) can fail
under set -euo pipefail when the YAML key is missing; update both extraction
blocks to follow the safe pattern used elsewhere in the script (i.e., make the
grep pipeline non-failing and provide a fallback), for example by appending "||
true" to the grep pipeline and then defaulting to "not found" if the pipeline
produced no output so the function (the version/upstream_version extraction)
always returns a string and does not cause the script to exit.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8d031987-0ef5-4fd8-8c13-ecbcf9a680fb

📥 Commits

Reviewing files that changed from the base of the PR and between fe6f6fe and 4849501.

📒 Files selected for processing (3)
  • .agents/content.md
  • .agents/content/humanise.md
  • .agents/scripts/humanise-update-helper.sh

@marcusquinn
Copy link
Copy Markdown
Owner Author

Dispatching fix worker to address CHANGES_REQUESTED review feedback.

  • Model: sonnet (anthropic/claude-sonnet-4-6)
  • Branch: bugfix/humanise-quality-debt
  • Scope: Fix Humanise manifest inconsistency in .agents/content.md flagged by CodeRabbit
  • Attempt: 1 of 1

- content.md: Promote Humanise consistently across manifest — moved from
  legacy subagents to pipeline stages in frontmatter, added to Quick
  Reference pipeline description, added to diamond pipeline diagram
- humanise-update-helper.sh: Add fallback for missing YAML keys in
  get_local_version() and get_upstream_version() to prevent script exit
  under set -euo pipefail when version/upstream_version keys are absent
- humanise-update-helper.sh: Handle compare_versions return code 2
  explicitly via case statement — previously collapsed codes 1 and 2
  into a single 'UPDATE AVAILABLE' branch, now distinguishes 'tracked
  version ahead of upstream' as a distinct warning
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 399 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Tue Mar 10 05:58:16 UTC 2026: Code review monitoring started
Tue Mar 10 05:58:17 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 399

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 399
  • VULNERABILITIES: 0

Generated on: Tue Mar 10 05:58:20 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

@marcusquinn
Copy link
Copy Markdown
Owner Author

@coderabbitai review

All 3 inline review comments from the initial review have been addressed in commit e2ba26f:

  1. Humanise manifest consistency (content.md): Quick Reference now shows the full diamond pipeline including Humanise. Frontmatter subagents: block now groups humanise under # Humanise (post-production) in the correct pipeline position, not under legacy tools.

  2. grep fallback for missing YAML keys (humanise-update-helper.sh): Both get_local_version() and get_upstream_version() now use || echo "unknown" fallback on the grep pipeline and ${version:-unknown} parameter expansion, matching the safe pattern already used in fetch_upstream().

  3. Explicit compare_versions return code handling (humanise-update-helper.sh): Replaced the if/else with local rc=0; compare_versions ... || rc=$?; case $rc in 0|1|2) to handle all three return codes distinctly. Return code 2 (tracked version ahead of upstream) now prints a specific warning instead of incorrectly reporting "UPDATE AVAILABLE".

The previous re-review attempt was rate-limited. Requesting re-review to clear the CHANGES_REQUESTED state.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 10, 2026

@marcusquinn Thanks for the detailed summary of the fixes in commit e2ba26f! The three addressed items look well-handled:

  1. Manifest consistency — Humanise correctly placed in the diamond pipeline with a dedicated # Humanise (post-production) grouping in the frontmatter.
  2. grep fallback|| echo "unknown" + ${version:-unknown} pattern applied consistently across both get_local_version() and get_upstream_version(), eliminating silent failure on missing YAML keys.
  3. Return code handling — The local rc=0; compare_versions ... || rc=$?; case $rc in 0|1|2) pattern now distinguishes all three states cleanly, preventing the misleading "UPDATE AVAILABLE" message when the tracked version is ahead of upstream.

Triggering a fresh review now to clear the CHANGES_REQUESTED state. 🚀


🧠 Learnings used
Learnt from: marcusquinn
Repo: marcusquinn/aidevops PR: 0
File: :0-0
Timestamp: 2026-03-03T16:33:18.313Z
Learning: For the marcusquinn/aidevops repository: The daily quality sweep system (pulse-wrapper.sh) should only mention coderabbitai for full codebase review when there are significant changes (Quality Gate failure, +10 issues in one day, etc.), not on every automated sweep with stable metrics.

Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T12:35:20.083Z
Learning: Consult tools/build-agent/agent-review.md for guidance on reviewing and improving agents
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]
coderabbitai bot previously requested changes Mar 10, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (1)
.agents/content.md (1)

83-91: ⚠️ Potential issue | 🟡 Minor

Humanise is still described as a legacy tool later in this file.

These stage changes make content/humanise.md a first-class post-production step, but the later legacy lists still include it at Line 358 and Line 402. That leaves the manifest describing Humanise both as a core pipeline stage and as legacy.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/content.md around lines 83 - 91, Remove the duplicate legacy
mentions of "Humanise" so it appears only once as the first-class
post-production stage (referenced as content/humanise.md or "Humanise") in the
manifest; search for and delete or replace the legacy entries that list Humanise
in the later legacy lists (the trailing legacy section) so that only the stage
list defines it, and ensure any references or cross-links point to
content/humanise.md rather than a legacy label.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.agents/scripts/humanise-update-helper.sh:
- Around line 245-246: The sed expressions currently used (sed '1{/^---$/d};
1,/^---$/d') delete from line 1 through the first `---` anywhere, which removes
preamble when there is no frontmatter; change both invocations that operate on
"$subagent_file" and "$CACHE_FILE" (producing "$tmp_local" and "$tmp_upstream")
to only strip a YAML frontmatter when the file actually starts with `---` by
using a conditional range like sed '1{/^---$/,/^---$/d}' so deletion runs only
if line 1 matches `^---$`.
- Around line 248-255: The diff-display block currently masks real errors by
appending "|| true" to the diff/delta/colordiff pipelines; update the block that
checks command -v delta / colordiff and runs diff -u "$tmp_local"
"$tmp_upstream" so it temporarily disables errexit (set +e), captures the
command's exit code, re-enables errexit (set -e), and then treat exit code 1 as
expected ("files differ") but propagate any exit code >1 as an error (exit with
that code or return it). Apply this change to the three branches that call
delta, colordiff, or plain diff in the humanise-update-helper.sh diff-display
section so you only suppress the expected diff-exit-1 and not real failures.
- Around line 169-205: cmd_check() currently calls compare_versions() with
possibly "unknown" values from get_upstream_version() / fetch_upstream(), which
causes arithmetic errors in version_leq(); add a guard in cmd_check() before
calling compare_versions() to check if either ${upstream_tracked} or
${upstream_latest} == "unknown" and handle it explicitly (e.g., print a clear
warning/error message and return a non-zero exit status such as 3) instead of
invoking compare_versions(); reference the variables upstream_tracked and
upstream_latest and the functions compare_versions() / version_leq() when adding
the conditional so the script avoids passing "unknown" into version_leq().

---

Duplicate comments:
In @.agents/content.md:
- Around line 83-91: Remove the duplicate legacy mentions of "Humanise" so it
appears only once as the first-class post-production stage (referenced as
content/humanise.md or "Humanise") in the manifest; search for and delete or
replace the legacy entries that list Humanise in the later legacy lists (the
trailing legacy section) so that only the stage list defines it, and ensure any
references or cross-links point to content/humanise.md rather than a legacy
label.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 57cd38eb-41b5-43f7-9677-87f1fa07d760

📥 Commits

Reviewing files that changed from the base of the PR and between 4849501 and e2ba26f.

📒 Files selected for processing (2)
  • .agents/content.md
  • .agents/scripts/humanise-update-helper.sh

- Guard against 'unknown' version strings before compare_versions() to
  prevent arithmetic errors in version_leq() (return 3 with clear message)
- Replace fragile sed frontmatter stripping with awk-based
  strip_frontmatter() that only strips when file starts with '---'
- Distinguish diff exit 1 (files differ) from exit >1 (real error)
  instead of blanket '|| true' that masks failures
- Remove duplicate Humanise entries from legacy tool lists (lines 358,
  402) — now only listed as first-class pipeline stage at line 83
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 397 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Tue Mar 10 06:29:24 UTC 2026: Code review monitoring started
Tue Mar 10 06:29:24 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 397

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 397
  • VULNERABILITIES: 0

Generated on: Tue Mar 10 06:29:27 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

@marcusquinn
Copy link
Copy Markdown
Owner Author

All 4 items from the round-2 CodeRabbit review have been addressed in commit 8f7650b:

  1. Guard against 'unknown' version strings (humanise-update-helper.sh:169-205) — Added pre-compare_versions() guard that checks for "unknown" values and returns exit code 3 with a diagnostic message, preventing 10#unknown arithmetic errors in version_leq().

  2. Fix frontmatter stripping (humanise-update-helper.sh:245-246) — Replaced fragile sed '1{/^---$/d}; 1,/^---$/d' with an awk-based strip_frontmatter() function that only strips content between --- markers when line 1 is exactly ---. Files without YAML frontmatter are preserved intact.

  3. Distinguish diff exit codes (humanise-update-helper.sh:248-255) — Replaced blanket || true with set +e/set -e toggling to capture exit codes. Exit 0 (identical) and exit 1 (files differ) are expected; exit >1 (real error) now prints a diagnostic and propagates via return.

  4. Remove duplicate legacy Humanise mentions (content.md:358,402) — Removed Humanise from both legacy tool lists. It now appears only as the first-class pipeline stage at line 83.

ShellCheck passes clean (only SC1091 info for external source, expected).

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 10, 2026

@marcusquinn Thanks for the thorough follow-through on all four round-2 items — the fixes look solid:

  1. 'unknown' guard — Pre-flight check on both version strings before entering compare_versions() / version_leq() eliminates the 10#unknown arithmetic trap; exit code 3 with a diagnostic message is clean and distinguishable.
  2. Frontmatter stripping — The awk-based strip_frontmatter() correctly anchors on line 1 being exactly ---, making it robust for files with or without YAML frontmatter.
  3. Diff exit codesset +e / set -e toggling with explicit handling of exit 0, 1, and >1 is the right pattern — no more silent suppression of real diff errors.
  4. Legacy Humanise de-duplication — Single canonical pipeline-stage entry in content.md is the correct approach.

Good to hear ShellCheck is clean (SC1091 for external source is expected and acceptable per project conventions). Triggering fresh review now. 🚀


🧠 Learnings used
Learnt from: marcusquinn
Repo: marcusquinn/aidevops PR: 0
File: :0-0
Timestamp: 2026-03-03T16:33:18.313Z
Learning: For the marcusquinn/aidevops repository: The daily quality sweep system (pulse-wrapper.sh) should only mention coderabbitai for full codebase review when there are significant changes (Quality Gate failure, +10 issues in one day, etc.), not on every automated sweep with stable metrics.

Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T12:35:20.083Z
Learning: Consult tools/build-agent/agent-review.md for guidance on reviewing and improving agents

Learnt from: alex-solovyev
Repo: marcusquinn/aidevops PR: 0
File: :0-0
Timestamp: 2026-03-04T05:50:49.615Z
Learning: In the marcusquinn/aidevops repository: As of 2026-03-04, the chrome-webstore-helper.sh SC2119/SC2120 (load_credentials argument mismatch) and stash-audit-helper.sh SC2181 (indirect exit code checking) ShellCheck issues have been resolved. ShellCheck now reports 0 errors and 0 warnings for these files.

Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T12:35:20.083Z
Learning: Applies to .agents/scripts/*.sh : Run ShellCheck on all shell scripts in .agents/scripts/ before committing
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@sonarqubecloud
Copy link
Copy Markdown

@marcusquinn
Copy link
Copy Markdown
Owner Author

@coderabbitai review

All review feedback from both rounds has been addressed and confirmed in inline comment replies. Requesting fresh review to clear the CHANGES_REQUESTED state.

Round 1 (3 items) - addressed in commit e2ba26f:

  1. Humanise manifest consistency (content.md) - Quick Reference shows full diamond pipeline, frontmatter groups humanise under # Humanise (post-production)
  2. grep fallback for missing YAML keys (humanise-update-helper.sh) - || echo "unknown" + ${version:-unknown} pattern
  3. Explicit compare_versions return code handling - case $rc in 0|1|2) pattern

Round 2 (4 items) - addressed in commit 8f7650b:

  1. Guard against "unknown" version strings - Pre-compare_versions guard returns exit code 3
  2. Fix frontmatter stripping - awk-based strip_frontmatter() anchored on line 1
  3. Distinguish diff exit codes - set +e/set -e with diff_rc > 1 propagation
  4. Remove duplicate legacy Humanise mentions - Single canonical pipeline-stage entry

All CI checks pass. SonarCloud Quality Gate passed (0 new issues).

@marcusquinn marcusquinn dismissed coderabbitai[bot]’s stale review March 10, 2026 06:43

All 3 review items addressed in commit e2ba26f. CodeRabbit confirmed fixes in inline replies.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 10, 2026

@marcusquinn Thanks for the clean, itemised summary across both rounds — seven fixes landed across two commits, CI green, SonarCloud gate passed, and ShellCheck clean. Everything looks well-documented and accounted for. Triggering a fresh review now to clear the CHANGES_REQUESTED state. 🚀


🧠 Learnings used
Learnt from: marcusquinn
Repo: marcusquinn/aidevops PR: 0
File: :0-0
Timestamp: 2026-03-03T16:33:18.313Z
Learning: For the marcusquinn/aidevops repository: The daily quality sweep system (pulse-wrapper.sh) should only mention coderabbitai for full codebase review when there are significant changes (Quality Gate failure, +10 issues in one day, etc.), not on every automated sweep with stable metrics.

Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-08T12:35:20.083Z
Learning: Consult tools/build-agent/agent-review.md for guidance on reviewing and improving agents
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@marcusquinn marcusquinn dismissed coderabbitai[bot]’s stale review March 10, 2026 06:43

All 4 review items addressed in commit 8f7650b. CodeRabbit confirmed fixes in inline replies.

@marcusquinn marcusquinn added code-reviews-actioned All review feedback has been actioned and removed needs-review-fixes labels Mar 10, 2026
@marcusquinn marcusquinn merged commit f950a38 into main Mar 10, 2026
35 checks passed
@marcusquinn marcusquinn deleted the bugfix/humanise-quality-debt branch March 10, 2026 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Auto-created from TODO.md tag code-reviews-actioned All review feedback has been actioned

Projects

None yet

Development

Successfully merging this pull request may close these issues.

quality-debt: PR #128 review feedback (high)

1 participant