@carecard/validate 3.29.0 → 3.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/carecard-must-do/SKILL.md +36 -12
- package/.agents/skills/carecard-workspace-standards/SKILL.md +13 -4
- package/.agents/skills/github-pr-create-update/SKILL.md +29 -21
- package/.agents/skills/github-pr-merge-cleanup/SKILL.md +29 -21
- package/.agents/skills/pkg-publish/SKILL.md +13 -3
- package/.agents/skills/pkg-validate-coding-standards-and-best-practices/SKILL.md +34 -5
- package/.agents/skills/pkg-validate-validation-library/SKILL.md +13 -4
- package/index.d.ts +2 -2
- package/lib/validate.js +1 -1
- package/lib/validateNewUserRoleRequest.js +1 -1
- package/package.json +2 -2
- package/readme.md +21 -0
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: carecard-must-do
|
|
3
|
-
description: 'Non-negotiable startup requirements for every agent, including Codex, Claude, other assistants, and delegated agents. Load first whenever beginning or resuming any task to govern questions, visible working copies, and
|
|
3
|
+
description: 'Non-negotiable startup requirements for every agent, including Codex, Claude, other assistants, and delegated agents. Load first whenever beginning or resuming any task to govern questions, visible working copies, and working-branch continuity.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# CareCard Must Do
|
|
7
7
|
|
|
8
|
+
## Explicit approval before GitHub settings changes
|
|
9
|
+
|
|
10
|
+
Before changing any GitHub setting, explain the exact proposed change, ask the
|
|
11
|
+
user explicitly, and wait for their approval. This includes temporary changes
|
|
12
|
+
to GitHub Actions, workflow enablement, branch protection, and repository or
|
|
13
|
+
organization settings. Authorization to commit, push, merge, tag, cancel runs,
|
|
14
|
+
or clean up branches does not authorize settings changes.
|
|
15
|
+
|
|
8
16
|
## Mandatory for every agent
|
|
9
17
|
|
|
10
18
|
Every agent must read and follow this skill before beginning or resuming work
|
|
@@ -61,18 +69,34 @@ resources owned by the task when cleanup is authorized. Ordinary temporary
|
|
|
61
69
|
logs, build artifacts, and test fixtures are permitted when they are not used
|
|
62
70
|
as an undisclosed replacement working repository.
|
|
63
71
|
|
|
64
|
-
##
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
## Choose and refresh the working branch
|
|
73
|
+
|
|
74
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
75
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
76
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
77
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
78
|
+
commit, preserving its commits and uncommitted work.
|
|
79
|
+
|
|
80
|
+
Identify the repository directory, current branch, and working-tree state.
|
|
81
|
+
Fetch `origin/main` at task start before making task changes.
|
|
82
|
+
|
|
83
|
+
- Create and switch to a new `<agent-name>/<branch-name>` branch from freshly
|
|
84
|
+
fetched `origin/main` only when no working branch exists or the current branch is
|
|
85
|
+
`main` or `development`. Use the agent's recognizable lowercase name and a
|
|
86
|
+
descriptive
|
|
87
|
+
branch name, or the exact branch name supplied by the user.
|
|
88
|
+
- On every other branch, keep the current branch and rebase it onto freshly
|
|
89
|
+
fetched `origin/main` before starting task changes. Preserve its existing
|
|
90
|
+
commits and build the new task's commits on top of that work. Reuse this
|
|
91
|
+
branch for subsequent tasks, including when the working tree is clean or
|
|
92
|
+
the new task differs from the previous one.
|
|
93
|
+
|
|
94
|
+
Preserve uncommitted changes when preparing the rebase and restore any changes
|
|
95
|
+
that were temporarily set aside. Do not reset, replace, squash, or discard the
|
|
96
|
+
current branch's work merely to start a new task. Honor explicit user
|
|
97
|
+
working-branch instructions. Read-only investigation and planning do not
|
|
98
|
+
require creating a branch.
|
|
72
99
|
|
|
73
|
-
Identify the repository directory and working branch before making changes.
|
|
74
|
-
Preserve existing commits and unrelated local changes. Start new work from
|
|
75
|
-
freshly fetched `origin/main`, or rebase continuing work onto it when needed.
|
|
76
100
|
Fetch again before every source-branch push and rebase when the branch does
|
|
77
101
|
not already contain the latest `origin/main`.
|
|
78
102
|
|
|
@@ -193,11 +193,20 @@ making a new commit in the affected repository.
|
|
|
193
193
|
|
|
194
194
|
## Agent Guidance Git Workflow
|
|
195
195
|
|
|
196
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
197
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
198
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
199
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
200
|
+
commit, preserving its commits and uncommitted work.
|
|
201
|
+
|
|
196
202
|
Work from the owning repository root and stage only intended guidance changes.
|
|
197
|
-
|
|
198
|
-
from it
|
|
199
|
-
`
|
|
200
|
-
|
|
203
|
+
Fetch fresh `origin/main` at task start. Create `<agent-name>/<branch-name>`
|
|
204
|
+
from it only when no working branch exists or the current branch is `main` or
|
|
205
|
+
`development`. Otherwise keep
|
|
206
|
+
and rebase the current branch onto it, preserving existing commits and
|
|
207
|
+
uncommitted changes. Build subsequent task commits on that same branch, even
|
|
208
|
+
for a different task or a clean working tree. Honor explicit user
|
|
209
|
+
working-branch instructions.
|
|
201
210
|
|
|
202
211
|
Fetch again before every source-branch push and rebase only when the branch
|
|
203
212
|
does not already contain the latest `origin/main`. Required fetches need no
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: github-pr-create-update
|
|
3
|
-
description: 'Use when asked to push, create, update, or ready a GitHub pull request. Default to main
|
|
3
|
+
description: 'Use when asked to push, create, update, or ready a GitHub pull request. Default PRs to main. Create a branch from fresh origin/main only without a working branch or from main or development; otherwise preserve and rebase the current branch for subsequent tasks. Fetch again before source pushes and preserve main from deletion or force pushes.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Non-negotiable root-cause solution rule: Always identify and solve the verified root cause, use the stronger solution, and deliver a correct, durable, production-quality result. Never treat a temporary workaround, resource increase, retry, suppression, bypass, or symptom-only patch as completion. Validate the root-cause fix against the real failing workflow and prove the end state.
|
|
@@ -19,6 +19,12 @@ Non-negotiable code organization rule: Functions with the same or equivalent beh
|
|
|
19
19
|
|
|
20
20
|
## Default Git Policy
|
|
21
21
|
|
|
22
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
23
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
24
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
25
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
26
|
+
commit, preserving its commits and uncommitted work.
|
|
27
|
+
|
|
22
28
|
Apply these defaults unless the user explicitly specifies otherwise. The
|
|
23
29
|
prohibition on deleting or force-pushing `main` always applies.
|
|
24
30
|
|
|
@@ -26,9 +32,13 @@ prohibition on deleting or force-pushing `main` always applies.
|
|
|
26
32
|
truth. `origin/HEAD`, a stale local `main`, and the presence of `development`
|
|
27
33
|
do not change this default. If remote `main` is missing or cannot be fetched,
|
|
28
34
|
report the blocker instead of selecting another base.
|
|
29
|
-
2. At task start, fetch `origin/main
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
2. At task start, fetch `origin/main`. Create `<agent-name>/<branch-name>`
|
|
36
|
+
from that commit only when no working branch exists or the current branch is
|
|
37
|
+
`main` or `development`.
|
|
38
|
+
Otherwise keep and rebase the current branch onto that commit, preserving
|
|
39
|
+
its existing commits and building subsequent task commits on top. Honor an
|
|
40
|
+
explicit working-branch instruction; it changes branch selection, not
|
|
41
|
+
freshness.
|
|
32
42
|
3. Fetch again before every source-branch push. Rebase when the working branch
|
|
33
43
|
does not already contain the latest `origin/main`; a clean mergeability
|
|
34
44
|
check is not proof that rebasing is unnecessary. If it already contains that
|
|
@@ -65,11 +75,15 @@ with `--force-with-lease`.
|
|
|
65
75
|
|
|
66
76
|
Work from the owning repository root. Inspect status, the current branch,
|
|
67
77
|
upstream, and worktrees before changing refs. Preserve unrelated changes and
|
|
68
|
-
existing commits; do not reset a working branch to discard its work.
|
|
69
|
-
user-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
existing commits; do not reset a working branch to discard its work. Honor the
|
|
79
|
+
user's explicit working-branch instruction. Create a new
|
|
80
|
+
`<agent-name>/<branch-name>` from fresh `origin/main` only when no working branch
|
|
81
|
+
exists or the current branch is `main` or `development`. Otherwise keep the current
|
|
82
|
+
branch, rebase it
|
|
83
|
+
onto fresh `origin/main`, and build the new task's commits on its existing
|
|
84
|
+
work. A different task or a clean working tree does not require a new branch.
|
|
85
|
+
Do not use `main` or the selected base as a PR source branch. Stop if the source
|
|
86
|
+
branch cannot be resolved or HEAD is detached.
|
|
73
87
|
|
|
74
88
|
Fetch the authoritative ref explicitly:
|
|
75
89
|
|
|
@@ -77,22 +91,16 @@ Fetch the authoritative ref explicitly:
|
|
|
77
91
|
git fetch origin refs/heads/main:refs/remotes/origin/main
|
|
78
92
|
```
|
|
79
93
|
|
|
80
|
-
For an existing working branch,
|
|
94
|
+
For an existing working branch, preserve any uncommitted changes and rebase
|
|
95
|
+
before starting task changes; restore any changes temporarily set aside:
|
|
81
96
|
|
|
82
97
|
```sh
|
|
83
|
-
|
|
84
|
-
printf '%s\n' 'Working branch already contains the latest origin/main.'
|
|
85
|
-
else
|
|
86
|
-
ancestry_result=$?
|
|
87
|
-
if [ "$ancestry_result" -ne 1 ]; then
|
|
88
|
-
exit "$ancestry_result"
|
|
89
|
-
fi
|
|
90
|
-
git rebase origin/main
|
|
91
|
-
fi
|
|
98
|
+
git rebase origin/main
|
|
92
99
|
```
|
|
93
100
|
|
|
94
|
-
|
|
95
|
-
|
|
101
|
+
Before every source-branch push, including pushes after validation fixes,
|
|
102
|
+
fetch again and rebase when the branch does not already contain the latest
|
|
103
|
+
`origin/main`. If rebasing changes the validated inputs, rerun
|
|
96
104
|
the affected validation. Preserve successful evidence for unchanged inputs.
|
|
97
105
|
If a rebase conflicts, abort only the rebase started by this task and report
|
|
98
106
|
the conflict; do not push or discard work. Preserve any pre-existing Git
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: github-pr-merge-cleanup
|
|
3
|
-
description: 'Use for authorized GitHub PR squash merge and source cleanup.
|
|
3
|
+
description: 'Use for authorized GitHub PR squash merge and source cleanup. Create a branch from fresh origin/main only without a working branch or from main or development; otherwise preserve and rebase the current branch for subsequent tasks. Delete merged source branches, and synchronize main and development without deleting or force-pushing main.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Non-negotiable root-cause solution rule: Always identify and solve the verified root cause, use the stronger solution, and deliver a correct, durable, production-quality result. Never treat a temporary workaround, resource increase, retry, suppression, bypass, or symptom-only patch as completion. Validate the root-cause fix against the real failing workflow and prove the end state.
|
|
@@ -19,6 +19,12 @@ Non-negotiable code organization rule: Functions with the same or equivalent beh
|
|
|
19
19
|
|
|
20
20
|
## Default Git Policy
|
|
21
21
|
|
|
22
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
23
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
24
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
25
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
26
|
+
commit, preserving its commits and uncommitted work.
|
|
27
|
+
|
|
22
28
|
Apply these defaults unless the user explicitly specifies otherwise. The
|
|
23
29
|
prohibition on deleting or force-pushing `main` always applies.
|
|
24
30
|
|
|
@@ -26,9 +32,13 @@ prohibition on deleting or force-pushing `main` always applies.
|
|
|
26
32
|
truth. `origin/HEAD`, a stale local `main`, and the presence of `development`
|
|
27
33
|
do not change this default. If remote `main` is missing or cannot be fetched,
|
|
28
34
|
report the blocker instead of selecting another base.
|
|
29
|
-
2. At task start, fetch `origin/main
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
2. At task start, fetch `origin/main`. Create `<agent-name>/<branch-name>`
|
|
36
|
+
from that commit only when no working branch exists or the current branch is
|
|
37
|
+
`main` or `development`.
|
|
38
|
+
Otherwise keep and rebase the current branch onto that commit, preserving
|
|
39
|
+
its existing commits and building subsequent task commits on top. Honor an
|
|
40
|
+
explicit working-branch instruction; it changes branch selection, not
|
|
41
|
+
freshness.
|
|
32
42
|
3. Fetch again before every source-branch push. Rebase when the working branch
|
|
33
43
|
does not already contain the latest `origin/main`; a clean mergeability
|
|
34
44
|
check is not proof that rebasing is unnecessary. If it already contains that
|
|
@@ -65,11 +75,15 @@ with `--force-with-lease`.
|
|
|
65
75
|
|
|
66
76
|
Work from the owning repository root. Inspect status, the current branch,
|
|
67
77
|
upstream, and worktrees before changing refs. Preserve unrelated changes and
|
|
68
|
-
existing commits; do not reset a working branch to discard its work.
|
|
69
|
-
user-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
existing commits; do not reset a working branch to discard its work. Honor the
|
|
79
|
+
user's explicit working-branch instruction. Create a new
|
|
80
|
+
`<agent-name>/<branch-name>` from fresh `origin/main` only when no working branch
|
|
81
|
+
exists or the current branch is `main` or `development`. Otherwise keep the current
|
|
82
|
+
branch, rebase it
|
|
83
|
+
onto fresh `origin/main`, and build the new task's commits on its existing
|
|
84
|
+
work. A different task or a clean working tree does not require a new branch.
|
|
85
|
+
Do not use `main` or the selected base as a PR source branch. Stop if the source
|
|
86
|
+
branch cannot be resolved or HEAD is detached.
|
|
73
87
|
|
|
74
88
|
Fetch the authoritative ref explicitly:
|
|
75
89
|
|
|
@@ -77,22 +91,16 @@ Fetch the authoritative ref explicitly:
|
|
|
77
91
|
git fetch origin refs/heads/main:refs/remotes/origin/main
|
|
78
92
|
```
|
|
79
93
|
|
|
80
|
-
For an existing working branch,
|
|
94
|
+
For an existing working branch, preserve any uncommitted changes and rebase
|
|
95
|
+
before starting task changes; restore any changes temporarily set aside:
|
|
81
96
|
|
|
82
97
|
```sh
|
|
83
|
-
|
|
84
|
-
printf '%s\n' 'Working branch already contains the latest origin/main.'
|
|
85
|
-
else
|
|
86
|
-
ancestry_result=$?
|
|
87
|
-
if [ "$ancestry_result" -ne 1 ]; then
|
|
88
|
-
exit "$ancestry_result"
|
|
89
|
-
fi
|
|
90
|
-
git rebase origin/main
|
|
91
|
-
fi
|
|
98
|
+
git rebase origin/main
|
|
92
99
|
```
|
|
93
100
|
|
|
94
|
-
|
|
95
|
-
|
|
101
|
+
Before every source-branch push, including pushes after validation fixes,
|
|
102
|
+
fetch again and rebase when the branch does not already contain the latest
|
|
103
|
+
`origin/main`. If rebasing changes the validated inputs, rerun
|
|
96
104
|
the affected validation. Preserve successful evidence for unchanged inputs.
|
|
97
105
|
If a rebase conflicts, abort only the rebase started by this task and report
|
|
98
106
|
the conflict; do not push or discard work. Preserve any pre-existing Git
|
|
@@ -68,6 +68,12 @@ synchronization must reuse the same version; it is not a second release.
|
|
|
68
68
|
|
|
69
69
|
## Default Git Policy
|
|
70
70
|
|
|
71
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
72
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
73
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
74
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
75
|
+
commit, preserving its commits and uncommitted work.
|
|
76
|
+
|
|
71
77
|
Apply these defaults unless the user explicitly specifies otherwise. The
|
|
72
78
|
prohibition on deleting or force-pushing `main` always applies.
|
|
73
79
|
|
|
@@ -75,9 +81,13 @@ prohibition on deleting or force-pushing `main` always applies.
|
|
|
75
81
|
truth. `origin/HEAD`, a stale local `main`, and the presence of `development`
|
|
76
82
|
do not change this default. If remote `main` is missing or cannot be fetched,
|
|
77
83
|
report the blocker instead of selecting another base.
|
|
78
|
-
2. At task start, fetch `origin/main
|
|
79
|
-
|
|
80
|
-
|
|
84
|
+
2. At task start, fetch `origin/main`. Create `<agent-name>/<branch-name>`
|
|
85
|
+
from that commit only when no working branch exists or the current branch is
|
|
86
|
+
`main` or `development`.
|
|
87
|
+
Otherwise keep and rebase the current branch onto that commit, preserving
|
|
88
|
+
its existing commits and building subsequent task commits on top. Honor an
|
|
89
|
+
explicit working-branch instruction; it changes branch selection, not
|
|
90
|
+
freshness.
|
|
81
91
|
3. Fetch again before every source-branch push. Rebase when the working branch
|
|
82
92
|
does not already contain the latest `origin/main`; a clean mergeability
|
|
83
93
|
check is not proof that rebasing is unnecessary. If it already contains that
|
|
@@ -5,6 +5,25 @@ description: 'Use after carecard-must-do. Mandatory for every pkg-validate task,
|
|
|
5
5
|
|
|
6
6
|
# Pkg Validate Coding Standards And Best Practices
|
|
7
7
|
|
|
8
|
+
## Release 1.1.1 and production data
|
|
9
|
+
|
|
10
|
+
CareCard Release 1.1.1 is the production baseline. Seeding with
|
|
11
|
+
`--seed-release-data` is complete. Production cluster data, database rows,
|
|
12
|
+
and stored user files will be preserved going forward. There will be no
|
|
13
|
+
complete user-data wipeout and re-creation.
|
|
14
|
+
|
|
15
|
+
Future production changes must use data-preserving migrations. Do not replay
|
|
16
|
+
the completed initialization or run reset, rollback, or seed workflows as part
|
|
17
|
+
of ordinary production deployment.
|
|
18
|
+
|
|
19
|
+
## Commit and merge documentation and skills with the task
|
|
20
|
+
|
|
21
|
+
In each owning repository, include all task-related documentation, plans, and
|
|
22
|
+
skill changes in the same commit as the related task changes. Merge them
|
|
23
|
+
together into remote `main`. Do not leave changed documentation or skills
|
|
24
|
+
uncommitted or unmerged, and do not declare the task complete until their
|
|
25
|
+
inclusion in the merged commit is verified. Preserve unrelated work.
|
|
26
|
+
|
|
8
27
|
First read [carecard-must-do](../carecard-must-do/SKILL.md); it is mandatory for every agent and task.
|
|
9
28
|
Then apply this engineering standard before selecting narrower skills.
|
|
10
29
|
|
|
@@ -175,6 +194,12 @@ them unused and replaced.
|
|
|
175
194
|
|
|
176
195
|
## Completion
|
|
177
196
|
|
|
197
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
198
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
199
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
200
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
201
|
+
commit, preserving its commits and uncommitted work.
|
|
202
|
+
|
|
178
203
|
1. Review each changed repository's diff and status independently.
|
|
179
204
|
2. Run focused runtime, type, and coverage tests, then all broader checks
|
|
180
205
|
required by local skills.
|
|
@@ -184,11 +209,15 @@ them unused and replaced.
|
|
|
184
209
|
none exists, run the strongest repository-native focused validation.
|
|
185
210
|
5. Fix every in-scope failure at its root cause and rerun the exact command.
|
|
186
211
|
6. Report exact commands, results, limitations, and remaining risk.
|
|
187
|
-
7. Fetch the latest `origin/main` at task start and before every source-branch
|
|
188
|
-
these required fetches need no separate approval.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
212
|
+
7. Fetch the latest `origin/main` at task start and before every source-branch
|
|
213
|
+
push; these required fetches need no separate approval. Create
|
|
214
|
+
`<agent-name>/<branch-name>` from it only when no working branch exists or the
|
|
215
|
+
current branch is `main` or `development`. Otherwise rebase the current branch
|
|
216
|
+
onto it, preserving
|
|
217
|
+
existing commits and uncommitted changes, and build subsequent task commits
|
|
218
|
+
on that same branch. Commits, pushes, PR mutations, and branch cleanup still
|
|
219
|
+
require an authorized task. Never delete local or remote `main` or
|
|
220
|
+
force-push to remote `main`.
|
|
192
221
|
|
|
193
222
|
## TDD And Validation
|
|
194
223
|
|
|
@@ -211,11 +211,20 @@ with `--force-with-lease`.
|
|
|
211
211
|
|
|
212
212
|
## Agent Guidance Git Workflow
|
|
213
213
|
|
|
214
|
+
Reuse the current working branch for every follow-up request, even when the
|
|
215
|
+
subject changes or the working tree is clean. Create a branch only when no
|
|
216
|
+
working branch exists or the checkout is on `main` or `development`. Otherwise,
|
|
217
|
+
fetch remote `main` HEAD and rebase the same working branch onto that fetched
|
|
218
|
+
commit, preserving its commits and uncommitted work.
|
|
219
|
+
|
|
214
220
|
Work from the owning repository root and stage only intended guidance changes.
|
|
215
|
-
|
|
216
|
-
from it
|
|
217
|
-
`
|
|
218
|
-
|
|
221
|
+
Fetch fresh `origin/main` at task start. Create `<agent-name>/<branch-name>`
|
|
222
|
+
from it only when no working branch exists or the current branch is `main` or
|
|
223
|
+
`development`. Otherwise keep
|
|
224
|
+
and rebase the current branch onto it, preserving existing commits and
|
|
225
|
+
uncommitted changes. Build subsequent task commits on that same branch, even
|
|
226
|
+
for a different task or a clean working tree. Honor explicit user
|
|
227
|
+
working-branch instructions.
|
|
219
228
|
|
|
220
229
|
Fetch again before every source-branch push and rebase only when the branch
|
|
221
230
|
does not already contain the latest `origin/main`. Required fetches need no
|
package/index.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ export interface ValidateWhitelistPropertiesFunction {
|
|
|
84
84
|
|
|
85
85
|
export const validateWhitelistProperties: ValidateWhitelistPropertiesFunction;
|
|
86
86
|
|
|
87
|
-
export type UserRoleRequestRole = 'student' | 'intern' | 'volunteer';
|
|
87
|
+
export type UserRoleRequestRole = 'student' | 'intern' | 'volunteer' | 'applicant';
|
|
88
88
|
export type UserRoleRequestScopeRequirement =
|
|
89
89
|
boolean | typeof REQUIRE_SCOPE_WHEN_ROLE_OR_SCOPE_PRESENT;
|
|
90
90
|
|
|
@@ -120,7 +120,7 @@ export interface ValidateNewUserRoleRequestPayload extends Record<string, unknow
|
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
* Normalizes and validates an institutions.new_user_role_request payload.
|
|
123
|
-
* Only student, intern, and
|
|
123
|
+
* Only student, intern, volunteer, and applicant are accepted. When scope is required,
|
|
124
124
|
* both institution_id and campus_id must be provided.
|
|
125
125
|
*/
|
|
126
126
|
export function validateNewUserRoleRequestObject(
|
package/lib/validate.js
CHANGED
|
@@ -229,7 +229,7 @@ const isUserRoleRequestStatusString = inputString => {
|
|
|
229
229
|
};
|
|
230
230
|
|
|
231
231
|
const isUserRoleRequestRoleString = inputString => {
|
|
232
|
-
const roles = ['student', 'intern', 'volunteer'];
|
|
232
|
+
const roles = ['student', 'intern', 'volunteer', 'applicant'];
|
|
233
233
|
return typeof inputString === 'string' && roles.includes(inputString.trim().toLowerCase());
|
|
234
234
|
};
|
|
235
235
|
|
|
@@ -45,7 +45,7 @@ function normalizeNewUserRoleRequestRole(roleRequest) {
|
|
|
45
45
|
if (!isUserRoleRequestRoleString(roleRequest.role_name)) {
|
|
46
46
|
throwBadInputError({
|
|
47
47
|
userMessage: 'Invalid property: role.role',
|
|
48
|
-
details: { role: 'Role requests are limited to student, intern, or
|
|
48
|
+
details: { role: 'Role requests are limited to student, intern, volunteer, or applicant' },
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
roleRequest.role_name = roleRequest.role_name.trim().toLowerCase();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carecard/validate",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.31.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/CareCard-ca/pkg-validate.git"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"typescript": "6.0.3"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@carecard/common-util": "3.
|
|
50
|
+
"@carecard/common-util": "3.31.0"
|
|
51
51
|
},
|
|
52
52
|
"nyc": {
|
|
53
53
|
"all": true,
|
package/readme.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @carecard/validate
|
|
2
2
|
|
|
3
|
+
## Release 1.1.1 and production data
|
|
4
|
+
|
|
5
|
+
CareCard Release 1.1.1 is the production baseline. Seeding with
|
|
6
|
+
`--seed-release-data` is complete. Production cluster data, database rows,
|
|
7
|
+
and stored user files will be preserved going forward. There will be no
|
|
8
|
+
complete user-data wipeout and re-creation.
|
|
9
|
+
|
|
10
|
+
Future production changes must use data-preserving migrations. Do not replay
|
|
11
|
+
the completed initialization or run reset, rollback, or seed workflows as part
|
|
12
|
+
of ordinary production deployment.
|
|
13
|
+
|
|
14
|
+
The [completed seed inventory and verification record](https://github.com/CareCard-ca/cc-seed-data/blob/main/plans/production-seed-result.md)
|
|
15
|
+
documents the accepted release baseline and verification limitations.
|
|
16
|
+
|
|
3
17
|
Non-negotiable test order invariance rule: Every test must pass independently of which tests run before or after it, and the suite must pass in every execution order. Each test must establish the state it needs, isolate mutable state, and clean up state it owns; it must never rely on another test's setup, mutations, or cleanup. Default test, CI, and Husky commands must use the test framework's ordinary ordering and must not force randomized ordering. Random-order execution is an explicit diagnostic only, and every failure it exposes must be fixed at the root cause.
|
|
4
18
|
|
|
5
19
|
Non-negotiable root-cause solution rule: Always identify and solve the verified root cause, use the stronger solution, and deliver a correct, durable, production-quality result. Never treat a temporary workaround, resource increase, retry, suppression, bypass, or symptom-only patch as completion. Validate the root-cause fix against the real failing workflow and prove the end state.
|
|
@@ -463,3 +477,10 @@ A correct implementation may be completely rewritten or refactored without requi
|
|
|
463
477
|
Any test that fails solely because the implementation changed while the externally observable behavior remained correct is incorrectly designed and must be rewritten or removed.
|
|
464
478
|
|
|
465
479
|
This requirement is mandatory for all new tests and must be applied whenever existing tests are modified.
|
|
480
|
+
|
|
481
|
+
### Institution request roles
|
|
482
|
+
|
|
483
|
+
`isUserRoleRequestRoleString`, `validateNewUserRoleRequest`, and the exported
|
|
484
|
+
`UserRoleRequestRole` type accept student, intern, volunteer, and applicant.
|
|
485
|
+
Institution and campus remain required. Provider-specific eligibility is owned
|
|
486
|
+
by ms-institutions; accepting applicant here does not grant assignment authority.
|