Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/skills/agent-guidelines-audit
1 change: 1 addition & 0 deletions .editorconfig
45 changes: 45 additions & 0 deletions .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Pull Request CI

on:
pull_request:
types: [opened, synchronize, reopened]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
format:
name: Swift Format
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repository
uses: actions/checkout@v7

- name: Lint Swift Sources
run: |
AgentGuidelines/Scripts/swift_format.sh lint-strict \
Package.swift \
Sources \
Tests

test:
name: Test
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repository
uses: actions/checkout@v7
with:
clean: true

- name: Clear SwiftPM Caches
run: |
rm -rf ~/.swiftpm
rm -rf ~/Library/Caches/org.swift.swiftpm
rm -rf ~/Library/org.swift.swiftpm
rm -rf .swiftpm
rm -rf .build

- name: Run Tests
run: swift test -v
17 changes: 15 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,32 @@ on:
push:
branches:
- main
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
format:
name: Swift Format
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repository
uses: actions/checkout@v7

- name: Lint Swift Sources
run: |
AgentGuidelines/Scripts/swift_format.sh lint-strict \
Package.swift \
Sources \
Tests

test:
name: Test
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
clean: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
clean: true

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
clean: true

Expand All @@ -43,7 +43,7 @@ jobs:
needs: test
steps:
- name: Checkout Repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
clean: true

Expand Down
1 change: 1 addition & 0 deletions .swift-format
23 changes: 23 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ The package is content-, storage-, UI-, and application-architecture agnostic. H

Read only the guides relevant to the task:

- [Agent workflow](AgentGuidelines/Guidelines/AgentWorkflow.md)
- [Swift](AgentGuidelines/Guidelines/Swift/Swift.md)
- [Swift style](AgentGuidelines/Guidelines/Swift/SwiftStyle.md)
- [Swift format](AgentGuidelines/Guidelines/Swift/SwiftFormat.md)
- [Unit and integration testing](AgentGuidelines/Guidelines/Testing/UnitTesting.md)
- [Documentation](AgentGuidelines/Guidelines/Documentation.md)
- [Logging](AgentGuidelines/Guidelines/Logging.md)
- [Packages](AgentGuidelines/Guidelines/Packages.md)
- [Development workflow](AgentGuidelines/Guidelines/Development.md)
- [CI/CD](AgentGuidelines/Guidelines/CICD.md)
- [Git repositories and SSH-first cloning](AgentGuidelines/Guidelines/Git/Repositories.md)
- [GitHub pull requests](AgentGuidelines/Guidelines/GitHub/PullRequests.md)
Expand All @@ -25,6 +27,22 @@ Read only the guides relevant to the task:

Redux, SwiftUI, and application-localization guidance do not apply to the package target.

<!-- BEGIN THATFACTORY CODE REVIEW CONTRACT v1 -->
## Code Review Rules

Review for release-blocking defects introduced or materially exposed by the pull request. A clean review means no unresolved P0/P1 findings; it does not mean exhaustive or perfect software.

A blocking finding must identify a concrete, reachable path in a supported use case or the documented threat model that can cause a credible security-boundary bypass, durable data loss or corruption, a crash or deadlock, loss of availability, violation of an explicit acceptance criterion, or a serious compatibility regression.

For every blocking finding, state the severity, preconditions, execution path, impact, evidence, and actionable remediation. Group manifestations that share the same root cause into one finding.

Treat P2/P3 observations as non-blocking, including defense-in-depth, theoretical completeness, unsupported use cases, malformed state that trusted code cannot produce, behavior by components outside the threat model, style preferences, and speculative refactoring. Record a useful lower-severity observation once as deferred, declined, duplicate, or follow-up work; do not keep the review loop open for it.

In an initial review, report substantiated blockers together. A follow-up review is limited to unresolved P0/P1 findings, changes since the last reviewed commit, and code directly affected by those changes. Do not restart an unrestricted review of unchanged code. A new follow-up finding must be a P0/P1 defect introduced by the remediation or genuinely hidden by the previous blocker.

Automatic Codex review is the initial review. Do not request a manual Codex review unless the repository owner explicitly asks. Never request another review after each remediation commit. Within the normal review budget, at most one owner-authorized, delta-scoped verification review may be requested under [the pull-request review workflow](AgentGuidelines/Guidelines/GitHub/PullRequests.md).
<!-- END THATFACTORY CODE REVIEW CONTRACT v1 -->

## Physical folder map

| Role | Physical folder |
Expand All @@ -33,6 +51,11 @@ Redux, SwiftUI, and application-localization guidance do not apply to the packag
| DocC catalog | `Sources/ProgressionKit/ProgressionKit.docc/` |
| Unit tests | `Tests/ProgressionKitTests/` |

## CI/CD

- Swift package CI uses the self-hosted runner labels `self-hosted` and `macOS`.
- Pull-request validation runs from `.github/workflows/ci-pr.yml`; protected-branch validation runs from `.github/workflows/ci.yml`.

## Package specialization

- Keep progression updates deterministic for the same profile, event, and configuration.
Expand Down
15 changes: 14 additions & 1 deletion AgentGuidelines/.agents/skills/agent-guidelines-audit/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions AgentGuidelines/AGENTS.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions AgentGuidelines/CHANGELOG.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions AgentGuidelines/Guidelines/AgentWorkflow.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions AgentGuidelines/Guidelines/Development.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading