mirror of
https://github.com/larvit/adf-codec.git
synced 2026-11-12 11:48:29 +01:00
Answer prose round 1: the decision is titled for what holds now, and items 72, 74 and 47 read once
This commit is contained in:
@@ -36,7 +36,7 @@ In `docs/decisions.md`:
|
||||
- ESM only
|
||||
- One built entrypoint
|
||||
- Public on npm
|
||||
- GitHub is canonical, and Gitea a pull mirror of it
|
||||
- GitHub is canonical
|
||||
- The formats are API
|
||||
- The code list
|
||||
- Which code a cause takes
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
## Unreleased
|
||||
|
||||
- The source moves to [github.com/larvit/adf-codec](https://github.com/larvit/adf-codec), where
|
||||
issues and pull requests go; `package.json`'s `repository`, `bugs` and `homepage` point there.
|
||||
issues and pull requests go.
|
||||
- **Breaking:** directives, the inline opaque carry among them (now `!adf:carry{json="…"}`), are
|
||||
spelled under an `!adf:` prefix (`!adf:name … !adf:/name`, `!adf:name[content]{attrs}`,
|
||||
`!adf:name arg {attrs}`) in place of the `:::`/`::`/`:name` forms: text holding an unescaped
|
||||
|
||||
+7
-6
@@ -305,18 +305,19 @@ an npm consumer.
|
||||
stays public beside it.
|
||||
|
||||
Published to public npm as `@larvit/adf-codec`. Public source: the GitHub repository, LICENSE in
|
||||
place. A codec, since it converts both directions, and named
|
||||
for the hub rather than the formats around it.
|
||||
place. A codec, since it converts both directions, and named for the hub rather than the formats
|
||||
around it.
|
||||
|
||||
## GitHub is canonical, and Gitea a pull mirror of it
|
||||
## GitHub is canonical
|
||||
|
||||
2026-10-04, the maintainer. Goal 3. Valid while developers search GitHub for a library.
|
||||
|
||||
`github.com/larvit/adf-codec` owns the history, its issues and its CI, and publishes to npm with the
|
||||
organization's `NPM_TOKEN` secret. `gitea.larvit.se/larvit/adf-codec` becomes a read-only pull
|
||||
mirror of it, so the move back stays open and never a second owner. Until `todo.md` item 72
|
||||
re-creates it as that mirror, the Gitea copy holds the history before the move under its old hashes,
|
||||
its description points at GitHub, and its issues and Actions are off: push to GitHub only.
|
||||
mirror of it. A move back to Gitea stays possible, and Gitea never holds a commit, issue or pull
|
||||
request of its own. Until `todo.md` item 72 re-creates it as that mirror, the Gitea copy is stale:
|
||||
it holds the commits from before the 2026-10-04 history rewrite, its description points at GitHub,
|
||||
and its issues and Actions are off. Push to GitHub only.
|
||||
|
||||
## The formats are API
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
| 73 | 0.3.0 | | **Announce the package where someone needing an ADF converter already reads: JRACLOUD-77436, the Atlassian developer community and Stack Overflow's ADF-to-markdown questions.** | 1 | 2 | 6 | 8 | 3 | 23.0 |
|
||||
| 9 | 0.3.0 | | **Ship an online sandbox: a web page with two textboxes converting between ADF and markdown on the library's browser build.** | 2 | 6 | 6 | 8 | 3 | 21.0 |
|
||||
| 38 | 0.3.0 | | **Spell a lone surrogate in a text node so it survives a UTF-8 encode.** | 2 | 2 | 4 | 7 | 1 | 19.5 |
|
||||
| 74 | 0.3.0 | | **Keep the release path publishing past npm's bypass-2FA token retirement.** | 4 | 4 | 8 | 3 | 3 | 15.7 |
|
||||
| 74 | 0.3.0 | | **Keep the release path publishing after npm retires bypass-2FA tokens.** | 4 | 4 | 8 | 3 | 3 | 15.7 |
|
||||
| 34 | 0.3.0 | | **Read emphasis flanking by the whole character beside an astral symbol.** | 2 | 3 | 3 | 6 | 4, 5 | 11.3 |
|
||||
| 31 | 0.3.0 | | **Make the branch-coverage figure repeat across runs of an unchanged tree.** | 2 | 3 | 3 | 4 | 1 | 11.2 |
|
||||
| 42 | 0.3.0 | defect | **Trim a text leaf's trailing blanks in linear time.** | 1 | 2 | 5 | 9 | 9 | 10.5 |
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
### 47. Open the README with what the package is, what it does and for whom.
|
||||
|
||||
The badges are npm's version and the GitHub Actions status. Today the README opens with the
|
||||
Add badges for npm's version and the GitHub Actions status. Today the README opens with the
|
||||
pre-launch rationale — Atlassian's REST APIs, `pf-editor-service/convert` being decommissioned, a
|
||||
link to JRACLOUD-77436. The background goes entirely, no endpoint, ticket or "why" note left. The
|
||||
README names the lossy pair, `adfToPlainMarkdown` and `plainMarkdownToAdf`, and the flavours it
|
||||
@@ -188,10 +188,10 @@ of one character from each of its characters.
|
||||
### 72. Re-create `gitea.larvit.se/larvit/adf-codec` as a read-only pull mirror of GitHub, its issues off and its description pointing at GitHub.
|
||||
|
||||
Lands after the maintainer confirms the GitHub repository's settings, history, CI gate and
|
||||
publishing. The maintainer's: Gitea cannot convert an existing repository to a mirror, so the copy
|
||||
is deleted and re-created, which drops its hashes from before the history rewrite of 2026-10-04 and
|
||||
its Actions secrets. It holds no issues or releases to move. `docs/decisions.md` §GitHub is
|
||||
canonical, and Gitea a pull mirror of it loses its interim sentence when this lands.
|
||||
publishing. The maintainer does this. Gitea cannot convert an existing repository to a mirror, so
|
||||
the copy is deleted and re-created. That drops the copy's commit hashes from before the 2026-10-04
|
||||
history rewrite, and its Actions secrets. The Gitea copy holds no issues or releases to move. When
|
||||
this lands, the `docs/decisions.md` entry "GitHub is canonical" loses its interim sentence.
|
||||
|
||||
### 52. Spell `colwidth` as a comma list, `colwidth="340,420"`.
|
||||
|
||||
@@ -251,19 +251,19 @@ goes; the maintainer posts them. Found while planning discoverability, 2026-10-0
|
||||
`adfToMarkdown` emits it verbatim, so markdown stored as UTF-8 reads back U+FFFD; attribute values
|
||||
already escape it.
|
||||
|
||||
### 74. Keep the release path publishing past npm's bypass-2FA token retirement.
|
||||
### 74. Keep the release path publishing after npm retires bypass-2FA tokens.
|
||||
|
||||
Lands after 2027-01-01, or after a release run fails on the token, whichever comes first: the
|
||||
maintainer chose on 2026-10-02 to wait and see whether the retirement bites. It holds back no
|
||||
release: when the rest of its release is done, it moves to the next. `0.1.0` published only once the
|
||||
npm token carried **Bypass 2FA**: the account requiring no 2FA on writes was not enough, and npm
|
||||
answered `EOTP` until the token itself bypassed. npm retires bypass-2FA tokens for direct publishing
|
||||
around January 2027, leaving them `npm stage publish`, which a maintainer approves with 2FA. Its
|
||||
replacement, trusted publishing over OIDC, supports GitHub-hosted Actions, where the release runs
|
||||
since 2026-10-04 with the organization's `NPM_TOKEN` (the maintainer's choice). The trade is the
|
||||
maintainer's: move `publish.sh` to trusted publishing, or to the staged publish, which fits badly
|
||||
with publish-on-merge. The Goals and G cells are provisional: no README goal covers the release
|
||||
path.
|
||||
around January 2027, leaving them `npm stage publish`, which a maintainer approves with 2FA. Trusted
|
||||
publishing over OIDC replaces the token, and GitHub-hosted Actions support it. The release has run
|
||||
there since 2026-10-04, still with the organization's `NPM_TOKEN`: the maintainer chose to keep the
|
||||
token for now. The trade is the maintainer's: move `publish.sh` to trusted publishing, or to the
|
||||
staged publish, which fits badly with publish-on-merge. The Goals and G cells are provisional: no
|
||||
README goal covers the release path.
|
||||
|
||||
### 34. Read emphasis flanking by the whole character beside an astral symbol.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user