Repository navigation
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report🔎 Preview ·
|
There was a problem hiding this comment.
Approval waits on an engineering owner's decision about the new AST-093 FR1 sentence on where a native component's record lives: an engineering owner records it by commenting /approve-spec ac12db4edade2da01bf9928fdd9326792ab7c4c7 on this pull request (the author may do so as an engineering owner), and a new commit needs the command again. Whatever the decision, these record fixes are needed:
- Read as written, the sentence applies only when core keeps a component's record in another folder, so ListItem and the other members core keeps without a record (Tab, TableRow and more) still get a native folder of their own, while the description, #8288's checker and #8370 put a Swift ListItem record in
List/; if that is the intent, key the sentence on where core keeps the component. - The sentence moves only the record while FR1 still opens with each native component having its own folder, so saying the member's views and record live in that folder would also cover the Swift
Avatar/AvatarStatusDot.swift. - The Owning code section of
docs/architecture/knowledge-contracts.mdstill requires a consumer-doc entry in the folder for a parent/member record, which native folders don't have, so it needs the same exception for platform folders, or FR1 should defer to it. - FR1's verification row should name the member case.
[Automated review]
| the component's views. When core keeps a component's record in another | ||
| component's folder (core's `Avatar/AvatarStatusDot`), the native record lives | ||
| in that same folder. `<Name>` is the core component's name. The spec is a |
There was a problem hiding this comment.
Read as written, this applies only when core keeps the component's record in another folder. Core keeps ListItem, Tab, TableRow and 25 other components in another component's folder with a consumer doc but no record, so FR1 still sends their native records to <Name>/, while the description's scope, #8288's checker and #8370 put a Swift ListItem record in List/. The sentence also moves only the record, though FR1's first sentence still gives each native component its own folder. If the description's scope is the intent, something like:
When core keeps a component in another component's folder (core's
Avatar/AvatarStatusDotandList/ListItem), the native component's views and record live in that same folder.
ac12db4 to
b688b54
Compare
There was a problem hiding this comment.
Approval waits on an engineering owner's decision on the new AST-093 FR1 sentence, its verification row and the matching knowledge-contracts Owning code sentence, which change two current records: an engineering owner records it by commenting /approve-spec <full head SHA> on this pull request (the author may do so as an engineering owner), and a new commit needs it again. The record fixes asked for on the earlier head are all in place. One fix remains whatever the decision: FR1 moves a native component only out of another component's folder, while the Owning code sentence and #8288's checker put every platform record wherever core keeps the component, so the two disagree for a component core keeps in a folder named for no component, such as i18n/InternationalizationProvider; state one rule in the same words in both records.
[Automated review]
| that root. A platform implementation's record instead sits in the folder | ||
| where core keeps its component (`spec:AST-093` FR1). Public semantic module records are nested at least one directory |
There was a problem hiding this comment.
This reaches further than FR1's new sentence: FR1 moves a native component only when core keeps it in another component's folder, so a component core keeps in a folder named for no component (core's i18n/InternationalizationProvider) keeps <Name>/ under FR1 but goes to i18n/ here, and #8288's checker follows this wording. "Where core keeps" is also two folders for Heading (source Heading/, consumer doc Text/Heading.doc.mjs). One rule in the same words in both records would close it, for example:
a native component's views and record live in its core component's own folder when core has one, and otherwise in the folder where core keeps it
b688b54 to
d70507f
Compare
d70507f to
bbc5934
Compare
There was a problem hiding this comment.
Approval waits on an engineering owner's decision on the rewritten AST-093 FR1 opening, its verification row and the matching knowledge-contracts Owning code sentence, which change two current records: an engineering owner records it by commenting /approve-spec <full head SHA> on this pull request (the author may do so as an engineering owner), and a new commit needs it again. The fix asked for on the previous head is in place: both records now state one rule in the same words, so a component core keeps in a folder named for no component, such as i18n/InternationalizationProvider, gets the same folder from both. Nothing else is needed from the author.
[Automated review]
|
Superseded: native specs now live under docs/specs/components (#9007), so a native record's folder no longer depends on where core keeps its code. |
Exact decision needed
Where do a native component's views and spec live when core keeps that component in another component's folder, as core keeps AvatarStatusDot in
packages/core/src/Avatar/and ListItem inpackages/core/src/List/?Existing authority searched
<Name>/, "as core does", and its spec<Name>/<Name>.spec.md. Read literally, that would separate a family member's native record from its family. But core doesn't do that: core keeps AvatarStatusDot inAvatar/and ListItem inList/.Sources/Astryx/Avatar/. The owner's recorded decision on that pull request approved keeping the spec beside its view inAvatar/, following core.architecture:knowledge-contractsINV27 places records but doesn't decide native family folders.Decision
One rule, in the same words in both records:
<Name>/when core keeps it in its own folder, and core's folder otherwise (core'sAvatar/AvatarStatusDot,List/ListItem)." The Swift pathSources/Astryx/<Name>/<Name>.spec.mdis the common case. The rule also covers a component core keeps in a folder named for no component, such asi18n/InternationalizationProvider.architecture:knowledge-contractsOwning code: "A platform implementation's record instead sits in the folder where core keeps the component, which is<PublicName>/when core keeps it in its own folder, and core's folder otherwise (spec:AST-093FR1)." This is the counterpart of its parent/member consumer-doc rule, which native folders don't have.Rejected alternatives
AvatarStatusDot/folder. That would separate it from Avatar, where core and the shipped Swift view both keep it, against the recorded owner decision.Claim scope and non-goals
The sentence governs only where a native component's views and record live when core keeps the component in another component's folder. Components core keeps in their own folder are unchanged.
Evidence and implementation relationship
packages/core/src/Avatar/AvatarStatusDot.spec.mdandpackages/core/src/List/ListItem.doc.mjs.packages/native/apple/Sources/Astryx/Avatar/AvatarStatusDot.spec.md.Writing rubric results
Scope
Validation
pnpm check:knowledgegit diff --check