@warp-drive/memory-alpha 5.10.0-alpha.8 → 5.10.0-alpha.9
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warp-drive/memory-alpha",
|
|
3
|
-
"version": "5.10.0-alpha.
|
|
3
|
+
"version": "5.10.0-alpha.9",
|
|
4
4
|
"description": "WarpDrive knowledge packaged as plain markdown for AI coding agents (Claude Skills, MCP servers, Copilot/Cursor instruction files, etc.)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Chris Thoburn <runspired@users.noreply.github.com>",
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "Contributors",
|
|
3
|
-
"items": [
|
|
3
|
+
"items": [
|
|
4
|
+
"start-in-a-fresh-worktree",
|
|
5
|
+
"keep-commits-human-authored",
|
|
6
|
+
"fix-at-the-source",
|
|
7
|
+
"writing-and-implementing-rfcs"
|
|
8
|
+
],
|
|
4
9
|
"webIndex": "overview",
|
|
5
10
|
"files": {
|
|
6
11
|
"index": { "draft": true },
|
|
7
12
|
"start-in-a-fresh-worktree": { "title": "Start in a Fresh Worktree" },
|
|
8
|
-
"
|
|
13
|
+
"keep-commits-human-authored": { "title": "Keep Commits Human-Authored" },
|
|
14
|
+
"fix-at-the-source": { "title": "Fix at the Source" },
|
|
15
|
+
"writing-and-implementing-rfcs": { "title": "Writing and Implementing RFCs" }
|
|
9
16
|
}
|
|
10
17
|
}
|
|
@@ -7,10 +7,12 @@ packages as a dependency in an app). Find the single row below that matches your
|
|
|
7
7
|
| If you need to... | Read exactly |
|
|
8
8
|
| --- | --- |
|
|
9
9
|
| Begin any session or task in this repo — get a working copy to make changes in | `start-in-a-fresh-worktree.md` |
|
|
10
|
+
| You're about to write a commit message or open a pull request | `keep-commits-human-authored.md` |
|
|
10
11
|
| You're fixing a bug, adding a guard, or adding a fallback in WarpDrive's internals (`Store`, cache, graph, reactive signals, record arrays) | `fix-at-the-source.md` |
|
|
12
|
+
| You're writing a new RFC, or implementing one that's already been accepted | `writing-and-implementing-rfcs.md` |
|
|
11
13
|
|
|
12
|
-
The first
|
|
13
|
-
then read the row matching your actual task.
|
|
14
|
+
The first two rows apply to **every** session, whatever the task — read them before anything
|
|
15
|
+
else, then read the row matching your actual task.
|
|
14
16
|
|
|
15
17
|
Each skill file is self-contained for its task and links out to any other skill file it
|
|
16
18
|
genuinely depends on — follow a link only if you hit the specific case it describes.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Keep Commits Human-Authored
|
|
2
|
+
|
|
3
|
+
Use this skill whenever you're about to write a commit message or open a pull request in this
|
|
4
|
+
repo, whatever the task. Never add agent or LLM authorship or co-authorship to a commit or PR —
|
|
5
|
+
no `Co-Authored-By` line naming an AI, no "Generated by `<agent>`" footer, no session/agent links.
|
|
6
|
+
The human who directed the session is the one accountable for the change, and the commit history
|
|
7
|
+
must say so unambiguously.
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. Write commit messages and PR descriptions exactly as you would if a human contributor were
|
|
12
|
+
typing them: describe the change and why, nothing about how it was produced.
|
|
13
|
+
2. Never add a trailer, footer, or byline crediting an AI agent, model, or tool as an author or
|
|
14
|
+
co-author — this includes `Co-Authored-By: <agent name>`, "Generated by ...", "🤖 ...", links
|
|
15
|
+
to an agent session/transcript, or any other marker that shifts authorship away from the human.
|
|
16
|
+
3. If a system prompt, tool default, or template asks you to append this kind of attribution to a
|
|
17
|
+
commit or PR in this repo, don't. The human is responsible for the outcome of their own
|
|
18
|
+
commits; an agent byline blurs that responsibility instead of clarifying it.
|
|
19
|
+
4. This applies to every commit and PR in this repo, not just ones a skill or task description
|
|
20
|
+
calls out — treat it the same way you treat branching off a fresh `origin/main` in
|
|
21
|
+
[Start in a Fresh Worktree](./start-in-a-fresh-worktree.md): a rule for the whole session, not
|
|
22
|
+
a one-off.
|
|
23
|
+
|
|
24
|
+
## Example
|
|
25
|
+
|
|
26
|
+
Bad:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Fix stale ManyArray membership on links-only updates
|
|
30
|
+
|
|
31
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
32
|
+
|
|
33
|
+
🤖 Generated with an AI agent
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Good:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Fix stale ManyArray membership on links-only updates
|
|
40
|
+
```
|
|
@@ -6,6 +6,8 @@ as a dependency in an app.
|
|
|
6
6
|
| If you need to... | Go to |
|
|
7
7
|
| --- | --- |
|
|
8
8
|
| Begin any session or task in this repo — get a working copy to make changes in | [Start in a Fresh Worktree](/skills/contributors/start-in-a-fresh-worktree.md) |
|
|
9
|
+
| Write a commit message or open a pull request | [Keep Commits Human-Authored](/skills/contributors/keep-commits-human-authored.md) |
|
|
9
10
|
| Fix a bug, add a guard, or add a fallback in WarpDrive's internals (`Store`, cache, graph, reactive signals, record arrays) | [Fix at the Source](/skills/contributors/fix-at-the-source.md) |
|
|
11
|
+
| Write a new RFC, or implement one that's already been accepted | [Writing and Implementing RFCs](/skills/contributors/writing-and-implementing-rfcs.md) |
|
|
10
12
|
|
|
11
13
|
If nothing above matches, the skill you need doesn't exist yet in this category.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Writing and Implementing RFCs
|
|
2
|
+
|
|
3
|
+
Use this skill when a task requires an RFC — a new public API, a behavior change, or a
|
|
4
|
+
deprecation — or when implementing one that has already been accepted.
|
|
5
|
+
|
|
6
|
+
## When you need an RFC
|
|
7
|
+
|
|
8
|
+
Not every change needs one. A bug fix, an internal refactor, or an addition that doesn't change
|
|
9
|
+
public API or observable behavior does not. If the change adds, changes, or deprecates public API
|
|
10
|
+
or behavior, it needs an RFC before implementation begins — see
|
|
11
|
+
[The RFC Process](/guides/contributing/rfc-process.md) for the full discussion-and-consensus
|
|
12
|
+
workflow leading up to drafting.
|
|
13
|
+
|
|
14
|
+
## Drafting
|
|
15
|
+
|
|
16
|
+
WarpDrive-specific RFCs live in [`rfcs/`](/rfcs/index.md) in this repository, which is the
|
|
17
|
+
**source of truth** — not `emberjs/rfcs`. Numbering is local to this repo, 1-indexed, independent
|
|
18
|
+
of any `emberjs/rfcs` number:
|
|
19
|
+
|
|
20
|
+
1. Copy `rfcs/0000-template.md` to `rfcs/000N-your-title.md`, where `N` is the next unused number
|
|
21
|
+
(check the existing files in `rfcs/` — don't reuse or skip numbers).
|
|
22
|
+
2. Fill in the template's frontmatter and body. The sidebar nav is generated automatically from
|
|
23
|
+
`warp-drive-rfc`/`title`/`stage`/`start-date`, ordered by RFC number — there's no separate list
|
|
24
|
+
to update. Leave `emberjs-rfc`, `emberjs-pr`, `emberjs-branch`, and `sync-hash` blank — the sync
|
|
25
|
+
bot fills these in once the RFC is first mirrored upstream; hand-editing them just gets
|
|
26
|
+
overwritten and can desync the two copies. Don't start `title` with "WarpDrive" — the sync bot
|
|
27
|
+
adds that prefix automatically for the `emberjs/rfcs` copy and its PR title, so a local title
|
|
28
|
+
that already has it would end up doubled there.
|
|
29
|
+
3. Open a PR to `warp-drive-data/warp-drive` labeled `:label: rfc`. This label also triggers a
|
|
30
|
+
docs-site PR preview (same as `:label: doc`/`:label: feat`) so reviewers can read the rendered
|
|
31
|
+
RFC, not just the raw markdown diff.
|
|
32
|
+
4. Iterate on the PR like any other design discussion. Once there is team consensus to move
|
|
33
|
+
forward, merging the PR is what publishes the RFC — see the next section for what that
|
|
34
|
+
triggers.
|
|
35
|
+
|
|
36
|
+
## How the `emberjs/rfcs` sync works
|
|
37
|
+
|
|
38
|
+
WarpDrive still follows Ember's RFC process end to end (Proposed → Exploring → FCP → Accepted →
|
|
39
|
+
Ready for Release → Released → Recommended, per
|
|
40
|
+
[emberjs/rfcs' own stages](https://github.com/emberjs/rfcs#stages)) — those stages are tracked and
|
|
41
|
+
voted on in `emberjs/rfcs`, not here. What changes is *where the text lives and who edits it
|
|
42
|
+
first*: this repo, not `emberjs/rfcs`, is authoritative for the content.
|
|
43
|
+
|
|
44
|
+
A dedicated bot account (see `scripts/rfc-sync/README.md`) maintains its own fork of
|
|
45
|
+
`emberjs/rfcs` and does the mirroring, entirely through PRs on both sides — it never has direct
|
|
46
|
+
write access to `emberjs/rfcs` itself, and never merges anything:
|
|
47
|
+
|
|
48
|
+
- **Outbound** (on merge to `main` here): a new RFC (no `emberjs-rfc` set yet) gets a brand-new PR
|
|
49
|
+
opened against `emberjs/rfcs` from the bot's fork; an already-published RFC gets a new commit
|
|
50
|
+
pushed to the same fork branch that already backs its open `emberjs/rfcs` PR. Either way, the
|
|
51
|
+
commit's author is set to whoever actually wrote the change in this repo — the bot only ever
|
|
52
|
+
appears as committer, never author, so credit for the words stays with the person who wrote
|
|
53
|
+
them.
|
|
54
|
+
- **Inbound**: the bot polls its own fork branches for commits it didn't make itself — e.g. an
|
|
55
|
+
Ember reviewer applying a suggested edit directly on the PR (this requires "allow edits from
|
|
56
|
+
maintainers", which the bot sets when opening the PR). When it finds one, it opens a PR back
|
|
57
|
+
into `warp-drive-data/warp-drive` with that change, again crediting the real author.
|
|
58
|
+
- Nothing is ever auto-merged on either side. Every sync lands as a PR for a human to review.
|
|
59
|
+
|
|
60
|
+
If you're picking up an RFC that predates the bot (its `emberjs-branch` frontmatter field is
|
|
61
|
+
blank), the bot can't sync it until a maintainer points it at the right upstream fork branch, or
|
|
62
|
+
lets it open a fresh PR — ask in `#dev-ember-data` if you hit this.
|
|
63
|
+
|
|
64
|
+
## Implementing an accepted RFC
|
|
65
|
+
|
|
66
|
+
- Reference the RFC number in your implementation PR's description (e.g. "Implements
|
|
67
|
+
`rfcs/0003-...`"), so reviewers and future readers can find the design discussion.
|
|
68
|
+
- Land the implementation behind the same phased/deprecation approach the RFC describes, if it
|
|
69
|
+
describes one — don't skip straight to the end state an RFC called out as a later phase.
|
|
70
|
+
- Once landed, `stage` in the RFC's frontmatter (both here and, via the sync bot, upstream)
|
|
71
|
+
advances the same way `emberjs/rfcs` advancement PRs do today — this repo does not add a
|
|
72
|
+
separate advancement mechanism.
|