Dev - #7
Merged
Merged
Conversation
…ablejs pin The release regression test compares the schema embedded in the committed release HTML byte-for-byte against dev/specification/guerrilla-ops-schema.xml. On a Windows checkout core.autocrlf converts the working copy to CRLF, so a locally built release embeds CRLF while the repo source is LF, and the test fails on every Linux runner (red since 2026-08-15, deploy and release skipped). Small changes close the observed divergence at the source: - build_release.py canonicalises line endings in both files it embeds by exact bytes: the QA schema and the favicon SVG. The embedded content no longer depends on how the source was checked out. This also covers an existing autocrlf worktree that upgrades to this commit, where git does not rewrite unchanged working-tree files and .gitattributes alone would not help. - runtime-regression.js normalises the schema the same way, so the byte-equality check passes on any platform while still catching a genuinely stale artifact. - .gitattributes pins the repo to LF as belt-and-braces hygiene. Verified under the tested toolchain: LF, CRLF-schema, CRLF-SVG-only (the upgrade path), and all-text-CRLF checkouts each produce byte-identical airgapped HTML, and all three regression suites pass in each. Also refreshes the sortablejs 1.15.6 pin. jsDelivr now serves the byte content of the npm tarball member (verified: registry dist.integrity matches the tarball, tarball member sha256 6d0a831f... matches the CDN response), so the previous pin was stale rather than the package compromised.
…com/roosch269/Guerrilla-Ops into roosch269-fix/line-endings-reproducible-build
…gs-reproducible-build Roosch269 fix/line endings reproducible build
There was a problem hiding this comment.
Pull request overview
This PR enhances the COBie QA UX and theming pipeline by adding schema-driven color metadata, upgrading QA scoring/visualizations (graph + PDF report), and improving modal editing/lookup workflows (including draft-safe association staging).
Changes:
- Add schema-driven color metadata (
ui@colorSheet, columnui@colorToken) and propagate it into the runtime model / QA outputs. - Upgrade QA outputs: advisory-aware scoring tallies, interactive QA graph filtering, and a redesigned PDF cover/summary layout.
- Improve modal workflows: format-aware editors (GUID/date/datetime), inline entity creation for reference-backed lookups, and better handling of unsaved draft entities (including component placement).
Reviewed changes
Copilot reviewed 14 out of 17 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| dev/tests/runtime-regression.js | Extends runtime regression coverage for new QA ordering, QA graph filtering, PDF contract, and lookup creation behavior. |
| dev/specification/guerrilla-ops-schema.xml | Adds entity colorSheet and per-column colorToken metadata for theming and QA UI. |
| dev/packages/manifest.csv | Updates the expected hash for the SortableJS CDN asset. |
| dev/javascript/utils.js | Includes colorSheet in the parsed runtime model UI metadata. |
| dev/javascript/qa.js | Adds advisory-aware scoring helpers, propagates column colorToken into results, and updates check filtering to support multi-select. |
| dev/javascript/qa-graph.js | Major QA graph redesign: tone chips, column grouping, multi-check filtering, and score tallies beyond pass/fail. |
| dev/javascript/model-config.js | Adds schema format-to-editor mapping (GUID/date/datetime) for modal field editing. |
| dev/javascript/modals.js | Draft-aware return context, staging associations for unsaved drafts, inline lookup creation (type-aware), and GUID generation actions. |
| dev/javascript/logo-theme.js | Applies schema-driven entity color tokens to pill CSS variables at startup. |
| dev/javascript/component-placement.js | Uses shared SVG identifier matching, supports draft modal refresh, and avoids QA/track mutations for drafts. |
| dev/css/theme.css | Introduces --sheet-NN tokens and COBie field color tokens; updates pill colors to use sheet palette. |
| dev/css/results.css | Updates QA graph layout/styles for new chips, donuts, column cards, and adds styling for modal field actions. |
| dev/build/build_release.py | Canonicalizes line endings for embedded SVG favicon + QA schema for deterministic release hashes. |
| .gitattributes | Enforces LF line endings and marks common binaries appropriately. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+303
to
+305
| return `<button type="button" class="qa-graph-summary" data-qa-sheet="" title="${title}"> | ||
| <div class="qa-donut qa-donut-main" style="${_qaGraphFillVars(summary)}" role="img" aria-label="${summary.pass} checks passed, ${summary.advisory} advisory, ${summary.warning} warnings and ${summary.error} errors"> | ||
| <span>${summary.score}%</span> |
Comment on lines
142
to
144
| } | ||
| }); | ||
| } |
| <span class="qa-graph-check-name">${esc(checkLabel)}</span> | ||
| <span class="qa-graph-rule-description">${esc(row.description)}</span> | ||
| </span> | ||
| <span class="qa-graph-cnt"><b>${row.pass}</b> <i>${row.advisory}</i> <u>${row.warning}</u> <strong>${row.error}</strong></span> |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.