Skip to content

Commit a5657e9

Browse files
authored
Chore/cleanup (#46)
* added skills; updated gitignore and CHANGELOG * docs update
1 parent 03c4f97 commit a5657e9

19 files changed

Lines changed: 305 additions & 206 deletions

File tree

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: docs-cleanup
3+
description: Audit repository documentation for stale, conflicting, or incomplete install/run guidance and outdated examples; report concrete file-level gaps and recommended fixes.
4+
---
5+
6+
# Docs Cleanup
7+
8+
Use this skill when the user asks for a documentation audit, cleanup pass, or stale-doc review.
9+
10+
## Goals
11+
12+
- Find conflicting or outdated install/run instructions.
13+
- Check whether examples still match current CLI/API behavior.
14+
- Flag missing guidance that blocks onboarding, testing, or release tasks.
15+
- Keep output focused on actionable findings with file references.
16+
17+
## Workflow
18+
19+
1. Collect candidate docs:
20+
- `README.md`
21+
- `docs/source/**/*.rst`
22+
- `CONTRIBUTING.md`
23+
- `.github/` templates/workflows when relevant to user instructions.
24+
2. Validate install/run instructions against current repo behavior:
25+
- Build and test commands in docs vs commands in `CMakeLists.txt`, `pyproject.toml`, CI workflows, and `scripts/`.
26+
- Confirm paths, filenames, and prerequisites are still valid.
27+
3. Validate examples:
28+
- Compare documented examples with `samples/`, `test/`, and current interfaces.
29+
- Check that command arguments and expected outputs are still plausible.
30+
4. Identify gaps:
31+
- Missing prerequisites, platform caveats, troubleshooting notes, or release-process notes.
32+
5. Report findings first, ordered by severity:
33+
- `High`: wrong instruction likely to fail.
34+
- `Medium`: confusing/outdated but recoverable.
35+
- `Low`: clarity/consistency improvements.
36+
37+
## Output Format
38+
39+
- Findings list with `severity`, `file`, and exact issue.
40+
- Proposed fix for each finding.
41+
- Open questions or assumptions.
42+
- If no findings: explicitly state that and note residual risk areas not fully validated.
43+
44+
## Guardrails
45+
46+
- Prefer small documentation edits over broad rewrites.
47+
- Avoid speculative claims; cite the source file/command that contradicts the docs.
48+
- Do not edit generated docs under `docs/_build/` or `docs/doxygen/`.

.codex/skills/pr-merge/SKILL.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: pr-merge
3+
description: Review branch changes against main before merge, ensure docs and changelog updates are present, and report merge-readiness warnings.
4+
---
5+
6+
# PR Merge Readiness
7+
8+
Use this skill when the user wants a final pre-merge pass for a feature branch.
9+
10+
## Goals
11+
12+
- Compare branch diff against `main`.
13+
- Confirm user-visible changes have matching docs updates.
14+
- Add or refine `CHANGELOG.md` entries under `Unreleased`.
15+
- Surface warnings/risks before merge.
16+
17+
## Workflow
18+
19+
1. Gather diff scope:
20+
- `git diff --name-status main...HEAD`
21+
- `git diff --stat main...HEAD`
22+
2. Classify changed files:
23+
- Core solver (`source/`), bindings, tests, docs, CI, packaging.
24+
3. Docs consistency check:
25+
- If behavior/API changed, verify `README.md` and/or `docs/source/` updates exist.
26+
- If docs are missing, flag as warning and propose exact files to update.
27+
4. Changelog update:
28+
- Add concise user-visible bullets under `## [Unreleased]` in `CHANGELOG.md`.
29+
- Use sections already present (`Changed`, `Fixed`, `Added`).
30+
5. Sanity checks:
31+
- Confirm no accidental edits to generated docs/build outputs.
32+
- Highlight risky areas: missing tests, interface changes, scientific/numerical behavior impacts.
33+
6. Produce merge recommendation:
34+
- `Ready`, `Ready with warnings`, or `Not ready`.
35+
36+
## Output Format
37+
38+
- Findings first, ordered by severity, with file references.
39+
- Proposed `CHANGELOG.md` additions.
40+
- Final merge-readiness verdict and blockers.
41+
42+
## Guardrails
43+
44+
- Do not merge branches automatically.
45+
- Do not rewrite changelog history outside `Unreleased` unless user asks.
46+
- Keep warnings concrete and evidence-based.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: update-agents-md
3+
description: Update AGENTS.md to reflect recent repository workflow, architecture, and policy changes while preserving existing project constraints.
4+
---
5+
6+
# Update AGENTS.md
7+
8+
Use this skill when AGENTS guidance has drifted from the codebase or team workflow.
9+
10+
## Goals
11+
12+
- Keep `AGENTS.md` current with architecture boundaries, testing expectations, and repo workflows.
13+
- Preserve critical existing constraints unless the user explicitly asks to change them.
14+
15+
## Workflow
16+
17+
1. Read current `AGENTS.md` fully.
18+
2. Scan recent project changes for process-impacting updates:
19+
- `README.md`, `CONTRIBUTING.md`, `CHANGELOG.md`
20+
- CI workflows in `.github/workflows/`
21+
- Build/package entry points (`CMakeLists.txt`, `pyproject.toml`)
22+
- Interface boundaries under `source/`.
23+
3. Propose targeted edits only where guidance is stale or missing.
24+
4. Apply minimal, focused wording changes:
25+
- Keep rules concrete and enforceable.
26+
- Avoid aspirational or ambiguous language.
27+
5. Validate consistency:
28+
- No contradictions with docs or CI.
29+
- Keep scientific correctness and compatibility priorities explicit.
30+
31+
## Output Format
32+
33+
- Summary of what changed in `AGENTS.md`.
34+
- Why each change was needed.
35+
- Any deferred items requiring user decision.
36+
37+
## Guardrails
38+
39+
- Do not remove existing hard constraints unless explicitly instructed.
40+
- Avoid adding style-only or noisy policy text.
41+
- Keep edits short and maintainable.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: version-increment
3+
description: Prepare the repository for a new release tag by updating hard-coded version references, promoting CHANGELOG Unreleased entries, and running release-readiness checks.
4+
---
5+
6+
# Version Increment
7+
8+
Use this skill when the user provides a new version number and wants the repo prepared for tagging.
9+
10+
## Inputs
11+
12+
- `new_version` (required), semver-like string (example: `3.0.4`).
13+
- `release_date` (optional). If omitted, use local current date (`YYYY-MM-DD`).
14+
15+
## Known Hard-Coded Version Locations (current repo)
16+
17+
- `CMakeLists.txt` (`project(... VERSION x.y.z)`).
18+
- `source/bind/python/cea/__init__.py` (`__version__ = "x.y.z"`).
19+
- `docs/source/conf.py` (`release = '...'`).
20+
21+
Update these locations and verify no additional hard-coded version literals remain outside generated docs.
22+
23+
## Workflow
24+
25+
1. Validate `new_version` format and ensure it is greater than the current version.
26+
2. Update the three known hard-coded version locations.
27+
3. Search for additional stale literals:
28+
- Prefer `rg -n "<old_version>|release\s*=|__version__\s*=|VERSION\s+[0-9]+\.[0-9]+\.[0-9]+"`
29+
- Exclude generated docs: `docs/_build/`, `docs/doxygen/`.
30+
4. Update `CHANGELOG.md`:
31+
- Move current `## [Unreleased]` entries into a new release section `## [<new_version>] - <release_date>`.
32+
- Recreate an empty `## [Unreleased]` section at the top with standard subsections used by this repo.
33+
5. Run sanity checks:
34+
- Ensure changed files are limited to release metadata/docs unless user asked for more.
35+
- Optionally run targeted tests/docs build if requested.
36+
6. Report exact files changed and any warnings before tagging.
37+
38+
## Output Format
39+
40+
- New version and date used.
41+
- List of updated files with one-line reason each.
42+
- Warnings/blockers before tag creation.
43+
- Suggested tag command: `git tag v<new_version>` (only if user asks to tag).
44+
45+
## Guardrails
46+
47+
- Do not create/push tags unless explicitly requested.
48+
- Do not edit generated docs under `docs/_build/` or `docs/doxygen/`.
49+
- Keep changelog wording user-visible and avoid implementation-only noise.

.github/workflows/basic_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ jobs:
360360
fcompiler: gcc
361361
fversion: "11"
362362
include:
363-
- os: ubuntu-22.04
363+
- os: ubuntu-24.04
364364
toolchain:
365365
ccompiler: gcc
366366
cversion: "13"

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,5 @@ __pycache__/
3737
source/bind/excel/~$*.xlsm
3838
source/bind/excel/*.lib
3939
source/bind/python/samples
40-
source/bind/python/cea/samples/*.tex
40+
source/bind/python/cea/samples/*.tex
41+
source/bind/python/cea/samples/intro.py

AGENTS.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This repository is a scientific computing library (CEA). Follow these rules:
44

5-
- Do NOT modify `thermo.inp` or `trans.inp` unless explicitly instructed.
5+
- Do NOT modify `data/thermo.inp` or `data/trans.inp` unless explicitly instructed.
66
- Numerical correctness is paramount; preserve bitwise results and scientific behavior.
77
- Avoid algorithmic changes unless explicitly requested.
88
- Prefer clarity over cleverness or micro-optimizations.
@@ -11,3 +11,10 @@ This repository is a scientific computing library (CEA). Follow these rules:
1111
- If numerical behavior might change, call it out and add validation or tests when possible.
1212
- Respect layer boundaries: Fortran core in `source/`, C bindings in `source/bind/c/`,
1313
Python bindings in `source/bind/python/`.
14+
- Run minimal validation for touched areas:
15+
- Core/CMake/Fortran/C changes: run relevant `ctest` targets from the build directory.
16+
- Python binding changes: run `make py-rebuild` then `pytest source/bind/python/tests`.
17+
- Documentation-only changes: check referenced commands/paths against `README.md` and `CONTRIBUTING.md`.
18+
- Prefer established workflows:
19+
- Configure/build with `cmake --preset dev` and `cmake --build build-dev` when appropriate.
20+
- Use focused tests first, then broader test runs when numerical behavior may be affected.

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ All notable user-visible changes to this project are documented here.
55
## [Unreleased]
66

77
### Changed
8+
- Command-line input parsing now accepts explicit `.inp` filenames (`#44`).
89

910
### Fixed
11+
- Fixed a crashing output case and restored missing output values (`#45`).
1012

1113
### Added
14+
- Added missing Python test dependencies to improve out-of-the-box test runs (`#41`).
1215

1316
## [3.0.3] - 2026-02-20
1417

1518
### Changed
16-
- Hardened PyPI publishing CI with OIDC preflight checks and manual `workflow_dispatch` target selection (`testpypi`/`pypi`); installation docs now lead with `python -m pip install cea` and mention GitHub Releases binary assets.
19+
- Hardened PyPI publishing CI with OIDC preflight checks and manual `workflow_dispatch` target selection (`testpypi`/`pypi`); installation docs now lead with `python -m pip install cea` and mention GitHub Releases binary assets. (`#39`, `#40`).
1720

1821
### Fixed
1922

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
88
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
99
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
1010
project(CEA
11-
VERSION 3.0.0
11+
VERSION 3.0.3
1212
LANGUAGES Fortran
1313
)
1414

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Note that specifying the `.inp` extension for input files is optional.
133133

134134
Python example (runs the H2/O2 case after installing the Python bindings):
135135

136-
python source/bind/python/cea/samples/h2_02.py
136+
python source/bind/python/cea/samples/h2_o2.py
137137

138138

139139
## Database Generation

0 commit comments

Comments
 (0)