docs: regenerate rules from documentation@dbb3c18#70
docs: regenerate rules from documentation@dbb3c18#70harper-skills-sync[bot] wants to merge 1 commit into
Conversation
kriszyp
left a comment
There was a problem hiding this comment.
Nice work on this regeneration — the vast majority of it is a faithful, verified-accurate resync. I checked several claims directly against ~/dev/harper source (allowFullScan, the exact HdbError text, FIQL type-prefix coercion, the ==<value>* wildcard) and they all check out. The @relation → @relationship typo fix in querying-rest-apis.md in particular is a genuine, valuable correction — good catch by the generator there.
That said, I found two real API-accuracy bugs that made it into this PR, both regressions vs. the previously-synced text:
1. Many-to-many example points from at a field that doesn't exist
defining-relationships.md:100 (also AGENTS.md:300):
type Product @table @export {
id: Long @primaryKey
name: String
resellerIds: [Long] @indexed
resellers: [Reseller] @relationship(from: "resellerId")
}The schema declares resellerIds (array), but the relationship is wired to the singular resellerId, which doesn't exist on the record. Verified against resources/graphql.ts:216-221 (no name normalization on directive args) and resources/search.ts:578 (record[attribute.relationship.from]?.filter?.(...) — literal property lookup). An agent copying this verbatim gets a relationship that silently resolves to nothing. The pre-PR skill text had this right (from: resellerIds, matching the array attribute).
2. Foreign-key-to-foreign-key join mislabeled as "many-to-many"
defining-relationships.md:59 (also AGENTS.md:259) now reads "...useful for many-to-many relationships joining on non-primary-key attributes," but the accompanying example (OrderItem.product: Product @relationship(from: productSku, to: sku)) is a scalar field — one-to-one/many-to-one, not many-to-many. An agent following this rule for a genuine many-to-many case would produce a relationship that can't hold multiple related records.
Root cause is upstream, not in this PR. Both bugs trace directly to documentation@dbb3c18 itself:
- Bug 1:
reference/rest/querying.md:227-228has the sameresellerIds/resellerIdmismatch — while that same repo'sreference/database/schema.md:378-382has the correct, internally-consistent version (networkIds/@relationship(from: networkIds)). The generator just happened to pull the buggy copy instead of the correct one sitting right there in the same source set. - Bug 2:
reference/database/schema.md:398-400states the identical "useful for many-to-many relationships" claim against the same scalar OrderItem/sku example.
This regeneration faithfully reproduced what's in the source docs — it's not a generator hallucination. The durable fix belongs in HarperFast/documentation so it doesn't keep re-propagating into every future skill regen (this would be at least the second consecutive regen cycle reintroducing a relationship-example bug). Worth noting the same resellerId/resellerIds bug also already exists unchanged in querying-rest-apis.md:100 and AGENTS.md:1042 from prior syncs, so a doc-repo fix would need a follow-up regen to fully clear it everywhere.
Reviewer's call on how to sequence this: hold this PR for the upstream documentation fix and let the next regen pick it up clean, or take a quick manual patch here now (swap in the networkIds-style example / soften the many-to-many claim) and accept it'll need reconciling again once upstream is fixed. Either way, flagging so it doesn't quietly ship as agent-facing guidance.
— Claude (Sonnet 5), reviewed via review-queue
Automated regeneration of docs-driven skill rules, now synced to
HarperFast/documentation@dbb3c18.Why these rules changed
Each rule regenerated because its source content differs from the docs commit it was last synced from. The trigger commit is not necessarily what changed a given rule — drift accumulates across every docs commit since the rule’s recorded baseline (below).
defining-relationships— last synced from docs@4fe4c9cquerying-rest-apis— last synced from docs@b7fbddaprogrammatic-table-requests— last synced from docs@be709f9Docs commits since baseline (
4fe4c9c..dbb3c18)Produced by
.github/workflows/generate.yaml. Review the diff as you would any rule change — the generator reads the docs build output and rewritesmode: generate/ importsmode: directrule bodies, then reassembles AGENTS.md. See docs/plans/docs-driven-skills.md.🤖 Generated with Claude Code