Skip to content

Commit 464ae88

Browse files
committed
Add maintainer guide
1 parent 0d7a885 commit 464ae88

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

MAINTAINING.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Maintaining this repository
2+
3+
Documentation repo — structured data / entity SEO for ENS-based identities.
4+
No build system, no runtime: Markdown docs + shell/JS tooling in `scripts/`. English only.
5+
6+
> Companion of a **private reference implementation** (ookyet.com). Knowledge flows **one way**:
7+
> lessons are validated on the reference site first, then ported here in batch "port windows"
8+
> (see CHANGELOG v3.1.x–v3.3.x for the pattern). Never publish guidance here that the reference
9+
> implementation has not field-tested, and never copy site-private material (API keys, GSC
10+
> screenshots, non-public URLs) into this repo.
11+
12+
This repo is also a **subjectOf asset in the author's own entity graph** (SoftwareSourceCode
13+
node + CITATION.cff with ORCID). Treat public-facing text as entity corpus: byline is
14+
`Qifeng Huang (ookyet)`, the real name in CITATION.cff is deliberate, and the wallet
15+
address appearing in examples is public by design.
16+
17+
## Honesty rules (the repo's soul — never trade away)
18+
19+
1. **No "KP trigger" framing.** A Knowledge Panel is notability-driven and cannot be forced
20+
by markup. The v3.2.1 "honesty pass" retired `READY FOR KP` / trigger-score language from
21+
the tooling; do not reintroduce it in docs, scripts, or release notes. Heuristics must be
22+
labeled "not a Google metric".
23+
2. **Timestamp every claim.** Field data over promises: outcomes carry dates and measurement
24+
methods (see README Results table). Never put a Knowledge Panel on a calendar.
25+
3. **Negative results stay.** Retired strategies (FAQPage, HowTo, active-trigger, phantom
26+
press JSON-LD) are kept as documented failures with dates — they are load-bearing teaching
27+
content. **Do not "clean up" `~~RETIRED~~` sections.**
28+
4. **Markup must reflect reality.** Never document or exemplify structured data for content
29+
that does not exist (no phantom articles, no dead selectors, no fabricated credentials).
30+
5. Do not re-add retired schema types: `FAQPage` / `HowTo` (Google removed the rich results);
31+
`QAPage` only for genuine single-question + user-submitted-answers pages; no
32+
`potentialAction/SearchAction` without a real search results page.
33+
34+
## Versioning & release protocol (every release, in order)
35+
36+
Semantic mapping (documentation SemVer): **MAJOR** = stance reversal (e.g. 3.0.0 retired the
37+
active-trigger strategy) · **MINOR** = new guidance/sections · **PATCH** = corrections and
38+
repo hygiene. Skipping versions is allowed (SemVer only requires monotonic increase; v2.x
39+
never existed — do not backfill tags for CHANGELOG-only versions 3.0.0/3.0.1).
40+
41+
Release checklist:
42+
1. `CHANGELOG.md` entry (Keep a Changelog: Added/Changed/Fixed, dated, why not just what).
43+
2. `CITATION.cff` — bump `version` + `date-released`.
44+
3. Commit, push, then tag `vX.Y.Z` and push the tag.
45+
4. `gh release create vX.Y.Z` — title `vX.Y.Z — <short human phrase>`; body is a **narrative
46+
summary** (headline sentence + context + Added/Changed), not a changelog copy-paste;
47+
end with a link to the CHANGELOG section.
48+
49+
## Commit rules
50+
51+
- Author/committer: `ookyet <ookyet.mid@gmail.com>`; messages ASCII English.
52+
- `core.hooksPath=.githooks` runs `scripts/commit-message-guard.sh` — it strips tool
53+
watermarks and co-author trailers; empty-after-strip blocks the commit. Never `--no-verify`.
54+
- CI gates (`.github/workflows/`): commit-guard (message contract on push/PR), shellcheck
55+
(`-S warning` over `scripts/*.sh`), kg-monitor (scheduled KG API check). Keep them green.
56+
57+
## Editing discipline
58+
59+
- Docs must stay self-consistent: if guidance changes in one file, grep for the old claim in
60+
README / `docs/faq.md` / `docs/implementation-guide.md` / `docs/troubleshooting.md` and
61+
`examples/` — stale cross-references are this repo's main defect class (e.g. FAQ once
62+
promised retired FAQ rich results while Step 3 documented the retirement).
63+
- Monitoring guidance baseline: **weekly** KG API cadence; growth staircase reading order
64+
`url``image``resultScore``detailedDescription`; "no change" is the normal case.
65+
- Google's docs drift: when citing them, keep the "as of <date>" qualifier and verify the
66+
linked page still says what we claim during any port window.
67+
- Never commit API keys (KG Search API keys expire and get rotated — they live outside git).

0 commit comments

Comments
 (0)