-
-
Notifications
You must be signed in to change notification settings - Fork 0
chore: R-16 toolchain pin + reconciliation #85
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
f9e98fd
390ba47
79f6350
cea5b26
40ca49e
1326b86
8a5cdf0
b678efa
462030c
41c02db
36e9282
ef7f22a
3d5f608
202efb0
cefefc1
4f23f51
763919a
9fb5f93
197735c
5724f84
60bf345
0a2b7a1
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 |
|---|---|---|
|
|
@@ -6,6 +6,8 @@ K9! | |
|
|
||
| { | ||
| pedigree = { | ||
| name = "ci-config.k9.ncl", | ||
| security = { leash = 'Yard }, | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/sh
set -eu
for file in \
".machine_readable/self-validating/examples/ci-config.k9.ncl" \
".machine_readable/self-validating/examples/project-metadata.k9.ncl" \
".machine_readable/self-validating/examples/setup-repo.k9.ncl" \
".machine_readable/self-validating/template-hunt.k9.ncl" \
".machine_readable/self-validating/template-kennel.k9.ncl" \
".machine_readable/self-validating/template-yard.k9.ncl"
do
nickel typecheck "$file"
doneRepository: hyperpolymath/plasma-parser-writer Length of output: 217 🏁 Script executed: #!/bin/sh
set -eu
for file in \
".machine_readable/self-validating/examples/ci-config.k9.ncl" \
".machine_readable/self-validating/examples/project-metadata.k9.ncl" \
".machine_readable/self-validating/examples/setup-repo.k9.ncl" \
".machine_readable/self-validating/template-hunt.k9.ncl" \
".machine_readable/self-validating/template-kennel.k9.ncl" \
".machine_readable/self-validating/template-yard.k9.ncl"
do
printf '\n--- %s ---\n' "$file"
cat -n "$file"
done
printf '\n--- Nickel version/configuration references ---\n'
rg -n --hidden --glob '!node_modules' --glob '!dist' \
'nickel|pedigree|security|leash|signature_required' \
.machine_readable README.md .github 2>/dev/null | head -250Repository: hyperpolymath/plasma-parser-writer Length of output: 29972 Remove the duplicate All six 📍 Affects 6 files
🤖 Prompt for AI Agents |
||
| schema_version = "1.0.0", | ||
| component_type = "ci-configuration", | ||
| security = { | ||
|
|
@@ -16,7 +18,7 @@ K9! | |
| allow_subprocess = false, | ||
| }, | ||
| metadata = { | ||
| name = "ci-config", | ||
|
|
||
| version = "1.0.0", | ||
| description = "CI/CD configuration with runtime validation", | ||
| author = "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>", | ||
|
|
@@ -48,21 +50,21 @@ K9! | |
| # Workflow steps with validation | ||
| steps = [ | ||
| { | ||
| name = "Checkout", | ||
|
|
||
| action = "actions/checkout@v4", | ||
| # Version must be SHA-pinned for security | ||
| sha | String | std.string.NonEmpty = "b4ffde65f46336ab88eb53be808477a3936bae11", | ||
| }, | ||
| { | ||
| name = "Build", | ||
|
|
||
| run = "just build", | ||
| }, | ||
| { | ||
| name = "Test", | ||
|
|
||
| run = "just test", | ||
| }, | ||
| { | ||
| name = "Lint", | ||
|
|
||
| run = "just lint", | ||
| }, | ||
| ], | ||
|
|
@@ -87,15 +89,15 @@ K9! | |
|
|
||
| scanners = [ | ||
| { | ||
| name = "CodeQL", | ||
|
|
||
| languages = ["rust", "javascript"], | ||
| }, | ||
| { | ||
| name = "OSSF Scorecard", | ||
|
|
||
| enabled = true, | ||
| }, | ||
| { | ||
| name = "TruffleHog", | ||
|
|
||
| scan_for = "secrets", | ||
| }, | ||
| ], | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| [tools] | ||
| rust = "stable" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
printf '%s\n' '--- .mise.toml ---'
cat -n .mise.toml
printf '%s\n' '--- Rust version declarations ---'
rg -n -C 3 'rust-version|R-16|rust\s*=' Cargo.toml .mise.toml README.md .github 2>/dev/null || true
printf '%s\n' '--- relevant files ---'
git ls-files | rg '(^|/)(Cargo\.toml|\.mise\.toml|.*R-16.*|.*rust.*)'Repository: hyperpolymath/plasma-parser-writer Length of output: 869 🌐 Web query:
💡 Result: In software development, a release channel is a distribution mechanism used to provide different versions of software to users based on their stability requirements [1][2]. The stable release channel specifically represents the most reliable, production-ready version of the software [1][3]. Key concepts regarding the stable release channel include: Purpose and Stability: The stable channel is designed for end-users and production environments where reliability is paramount [1][3]. It contains code that has undergone rigorous testing and quality assurance, ensuring it is free from the experimental features or bugs that may exist in less mature channels [1][4]. Relation to Other Channels: Release models often employ multiple channels to manage the software lifecycle, commonly including [1][2]: - Stable: The current, tested release intended for general use [1][3]. - Beta: A preview channel containing features scheduled for the next stable release, used for final testing and feedback [1][4]. - Nightly/Development: An experimental channel that receives automated updates frequently (often daily), containing the latest, potentially unstable changes [1][4]. Updating: The latest stable release is typically the default version provided to users [3]. Mechanisms like package managers (e.g., rustup for the Rust programming language) allow users to track a specific channel, ensuring that they receive the latest stable version automatically upon updates [1][3]. In systems like the Rust ecosystem, the stable channel follows a consistent schedule (e.g., new releases every six weeks) and serves as the foundation for most users, while other channels allow developers to preview upcoming changes or access bleeding-edge features [1][4]. Citations:
🏁 Script executed: #!/bin/bash
printf '%s\n' '--- Rust CI workflow ---'
cat -n .github/workflows/rust-ci.yml
printf '%s\n' '--- Repository references to R-16 and compatibility ---'
rg -n -C 3 --hidden --glob '!target/**' --glob '!node_modules/**' 'R-16|1\.74|rustup|toolchain|mise' . 2>/dev/null || trueRepository: hyperpolymath/plasma-parser-writer Length of output: 8072 Use an exact Rust version for the toolchain pin.
🤖 Prompt for AI AgentsSource: MCP tools |
||
This file was deleted.
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.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: hyperpolymath/plasma-parser-writer
Length of output: 784
Scope elevated permissions to the
scorecardjob.Remove the workflow-level
security-events: writeandid-token: writegrants. Thescorecardjob already declares both permissions, so job-level scope preserves its access and prevents future jobs from inheriting these grants.🧰 Tools
🪛 zizmor (1.29.0)
[warning] 12-12: overly broad permissions (excessive-permissions): security-events: write is overly broad at the workflow level
(excessive-permissions)
[error] 13-13: overly broad permissions (excessive-permissions): id-token: write is overly broad at the workflow level
(excessive-permissions)
🤖 Prompt for AI Agents
Sources: MCP tools, Linters/SAST tools