@c4a/context-cli 0.7.10-alpha.1 → 0.7.10

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.
Files changed (49) hide show
  1. package/cli.js +1154 -754
  2. package/indexers/bundles/context-code-indexer/references/indexer.md +14 -0
  3. package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +1 -1
  4. package/indexers/bundles/context-code-indexer/templates/api-service.md +1 -1
  5. package/indexers/bundles/context-code-indexer/templates/background-runtime.md +1 -1
  6. package/indexers/bundles/context-code-indexer/templates/cli-tool.md +1 -1
  7. package/indexers/bundles/context-code-indexer/templates/component-library.md +4 -4
  8. package/indexers/bundles/context-code-indexer/templates/contract-source.md +1 -1
  9. package/indexers/bundles/context-code-indexer/templates/data-sync-reconciliation.md +6 -8
  10. package/indexers/bundles/context-code-indexer/templates/domain-service.md +1 -1
  11. package/indexers/bundles/context-code-indexer/templates/monorepo-container.md +1 -1
  12. package/indexers/bundles/context-code-indexer/templates/sdk-library.md +1 -2
  13. package/indexers/bundles/context-code-indexer/templates/web-application.md +1 -1
  14. package/indexers/contracts/profile-contract.json +245 -245
  15. package/indexers/release-manifest.json +14 -14
  16. package/package.json +12 -12
  17. package/parserEntryWorker.js +17 -8
  18. package/plugins/VERSION +1 -1
  19. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  20. package/plugins/claude/commands/context.md +37 -73
  21. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  22. package/plugins/codex/skills/context/SKILL.md +37 -73
  23. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  24. package/plugins/cursor/commands/c4a-context.md +37 -73
  25. package/plugins/skills/context/SKILL.md +37 -73
  26. package/plugins/skills/context-code-indexer/references/indexer.md +14 -0
  27. package/plugins/skills/context-code-indexer/templates/adapter-integration.md +1 -1
  28. package/plugins/skills/context-code-indexer/templates/api-service.md +1 -1
  29. package/plugins/skills/context-code-indexer/templates/background-runtime.md +1 -1
  30. package/plugins/skills/context-code-indexer/templates/cli-tool.md +1 -1
  31. package/plugins/skills/context-code-indexer/templates/component-library.md +4 -4
  32. package/plugins/skills/context-code-indexer/templates/contract-source.md +1 -1
  33. package/plugins/skills/context-code-indexer/templates/data-sync-reconciliation.md +6 -8
  34. package/plugins/skills/context-code-indexer/templates/domain-service.md +1 -1
  35. package/plugins/skills/context-code-indexer/templates/monorepo-container.md +1 -1
  36. package/plugins/skills/context-code-indexer/templates/sdk-library.md +1 -2
  37. package/plugins/skills/context-code-indexer/templates/web-application.md +1 -1
  38. package/providers/context/manifest.json +20 -20
  39. package/providers/context/provider.yaml +1 -1
  40. package/providers/context/resources/manuals/guides/indexer-provider-and-customization.md +0 -2
  41. package/providers/context/resources/manuals/guides/knowledge-updates.md +28 -2
  42. package/providers/context/resources/manuals/guides/workspace-prepare.md +17 -0
  43. package/providers/context/resources/manuals/reference/project-api.md +37 -17
  44. package/providers/context/resources/procedures/close-and-build.md +21 -0
  45. package/providers/context/resources/procedures/knowledge-updates.md +28 -2
  46. package/providers/context/resources/procedures/production-stage-files.md +14 -0
  47. package/providers/context/resources/procedures/source-capture-detailed.md +16 -2
  48. package/providers/context/resources/procedures/work-start-report.md +10 -4
  49. package/providers/context/resources/procedures/workspace-prepare.md +17 -0
@@ -88,7 +88,7 @@ present an unresolved draft as the report that authorizes production. The report
88
88
  or checklist is task guidance, not a source unless the user explicitly asks to
89
89
  ingest it. Before the complete report has been presented, do not write a
90
90
  source-registration payload, start capture or extraction, configure Indexers,
91
- or enter Partition/Author work. A
91
+ or begin knowledge writing. A
92
92
  managed-mode choice does not waive this first reading opportunity. After feedback,
93
93
  use the exact current Route and include its work-start report reference in the
94
94
  source batch payload. Existing workspace updates follow their current update Route
@@ -114,9 +114,16 @@ Once the activation condition is met, run:
114
114
  context entry [project-dir] --language <language> --format json
115
115
  ```
116
116
 
117
- Use the requested language, otherwise `zh-CN` for Chinese or `en` for English.
118
- Pass `project-dir`, `--name`, `--dev` and `--debug` only when requested. Add
119
- `--managed` only with explicit fully managed authorization in this conversation.
117
+ Use the requested output language, otherwise `zh-CN` for Chinese or `en` for
118
+ English; explain actions in the conversation language from the first reply.
119
+ Preserve the user's requested project directory, name and initialization flags
120
+ in the first entry command. Normalize conversational `-dev` to `--dev` (not a
121
+ CLI alias). `--dev` selects the local SDK instead of a registry version;
122
+ `--debug` enables diagnostics independently. Neither implies the other.
123
+ Pass these flags only when requested; add `--managed` only with explicit fully
124
+ managed authorization. For a Chinese request for local SDK, debug and managed
125
+ initialization, use `context entry context/ --dev --debug --language zh-CN
126
+ --managed --format json` as one command, then preserve its returned init flags.
120
127
 
121
128
  Follow the returned `next_action.command`:
122
129
 
@@ -275,9 +282,8 @@ none was returned. A phase-local `next_action` is not a workspace Route.
275
282
  If `next_preparation` fails after committed outcomes, execute its recovery
276
283
  without resubmitting accepted work. Stage completion is not workspace completion:
277
284
  Changed delivery content must finish Review, close and build through their Routes.
278
- An empty Composer result is a decision not to add derived content, not an API
279
- regeneration or proof that existing pages meet a later revision request. Do not
280
- infer maintenance targets from Composer task names or count.
285
+ An empty result does not prove that existing pages meet a later revision request.
286
+ Register the actual maintenance targets rather than inferring them from task names.
281
287
 
282
288
  When the Graph reports complete, compare the user's original and subsequent
283
289
  requests with actual delivered results and registered maintenance targets.
@@ -287,7 +293,7 @@ conversational requests. Continue already authorized outstanding work through th
287
293
  normal Context revision/update entry and its fresh Route, respecting existing
288
294
  Gates. Do not ask for another "continue" solely because production finished.
289
295
  Report a blocker only when a required input, permission or actual entry failure
290
- prevents progress; do not invent a missing Review/build after an empty Composer.
296
+ prevents progress; do not invent missing work solely because a result is empty.
291
297
 
292
298
  For an authorized end-to-end task, continue while the current Route is actionable
293
299
  within that authority. Report batch progress during execution, without ending
@@ -305,74 +311,32 @@ and when the user declined it. Use the commit guide if the user chooses it.
305
311
  ## When selecting or customizing Indexers
306
312
 
307
313
  Read `context.indexer.provider-guide` at the path supplied by the Route and the
308
- selected Action's instructions. They own the selection schema, layer rules,
309
- customization ladder, program authorization and upgrade recovery.
310
-
311
- Use the supplied requirements and CLI-bundled catalog. Discover relevant
312
- external Providers only among Host-visible `context-…-indexer…` Skills and read
313
- their exposed manifest. Host switches and installation channels determine
314
- availability; the catalog does not override a disabled Skill or a chosen
315
- business replacement. Do not scan caches, run a discovery preflight, or create
316
- a second enabled-Skill registry.
317
-
318
- Copy bundled Provider identities from the catalog, even if the same version
319
- is Host-visible. Read only selected Provider guidance. Keep one primary for an
320
- existing page; supporting note/session material belongs in its evidence/read
321
- scope, with compatible extension guidance when needed. Source type alone does
322
- not require a new page. Submit the selection through the Route's
323
- `complete-current` contract; the CLI validates, resolves and applies it. Follow
324
- returned Host-resolution and program Gates without calling low-level commands
325
- as a parallel workflow. Provider finalization consumes its existing input and
326
- must not resolve or install the Provider again.
314
+ selected Action's instructions. Select relevant available Skills for the actual
315
+ materials and reader task, respecting disabled Skills and explicit business
316
+ replacements. Record usage through the current planning schema; do not reconstruct
317
+ a separate Provider selection, primary-owner or finalization workflow. Read only
318
+ selected guidance; do not scan plugin caches or create another Skill registry.
319
+ Supporting notes or sessions can enrich an existing article; a different source
320
+ type alone does not require another page.
327
321
 
328
322
  ## Progress reporting format
329
323
 
330
- For production progress updates, use two bold lines in this order. Describe
331
- the actual stage when counters are unavailable; include counts only when supplied:
332
-
333
- **[总体进展:已交付 33/125 ]**
334
- **[当前进展:已规划 3/8 项]**
335
-
336
- Use CLI `progress.scopes` (or `indexerProgress.scopes` in status) as the
337
- single source for progress in conversation and reports. It separates:
338
- - `overall`: delivered pages and cumulative planning for the current Indexer run;
339
- - `wave`: writing tasks, observed pages and composition for the current wave;
340
- - `slice`: tasks in the currently active Route slice.
341
-
342
- Planning completed counts currently valid accepted tasks, not lifetime effort.
343
- When overall.planning.needs_recheck is nonzero, report “规划当前有效 X/Y 项;Z 项因任务绑定变化待复核”.
344
- Do not describe a lower valid count as lost pages or silently restarting from zero.
345
- The CLI reason identifies binding changes, not proof that source code changed;
346
- do not invent a more specific cause.
347
-
348
- Keep these scopes separate. A wave or pause target never replaces the overall
349
- scope. Preserve overall planning across Author, Composer and Review transitions.
350
- Use each counter's `unit`: task means 项/任务, page means 页. A writing task is
351
- not automatically one page. A null total means 总数待确定, not zero or the
352
- number of currently prepared tasks. Revisions can overlap delivered pages;
353
- do not add wave tasks to delivered pages to invent a page total.
354
-
355
- Use two bold progress lines. The first combines `overall` and a clearly labelled
356
- `wave` supplement; the second describes the current action, using `slice` counts
357
- when available. Internal wave/slice names need not appear in user-facing text. For example, with matching CLI values:
358
- **[总体进展:已交付 33 页,总页数待确定;规划完成 50/122 项;本轮写作完成 30/30 项]**
359
- **[当前进展:补充内容检查 0/8 项]**
360
-
361
- A completion receipt's `submitted_slice` describes the slice just submitted;
362
- `progress.scopes.slice` can already describe the next Route. Use the former when
363
- reporting submission success and the latter when announcing the next slice.
364
- Never combine their numerators and denominators. A null slice means no active
365
- Agent task slice, not that the workflow is complete. During Review/build, state
366
- the returned Route action briefly rather than inventing a slice ratio.
367
- Before counters exist or after task cleanup, describe the known stage and current
368
- action instead of repeatedly saying counters are unavailable. For example:
369
- **[总体进展:正在准备知识工作区]**
370
- **[当前进展:已读取启动清单,正在整理仓库与文档范围]**
371
- During review or packaging, name that action rather than a nonexistent slice.
372
- Do not turn the last wave into the overall scope or report delivery as zero.
373
- Continue authorized work after an update; only the agreed delivery stop or an
374
- actual unresolved blocker permits stopping. This format governs progress, not
375
- answers, review findings or necessary questions.
324
+ For production updates, use two bold lines: overall progress, then the current
325
+ action. Use the conversation language. For example, when supported by the receipt:
326
+
327
+ **[总体进展:已交付 10 页;本轮写作已接收 3/5 ]**
328
+ **[当前进展:正在审核本轮文章]**
329
+
330
+ Use counts and their meanings from the current CLI result. Distinguish accepted
331
+ drafts from delivered pages, and the just-submitted subset from remaining work.
332
+ Do not require older overall/wave/slice fields or reconstruct missing totals.
333
+ Tasks and pages are not interchangeable; revisions do not automatically add pages.
334
+ Before counts exist or after cleanup, describe the actual stage without invented
335
+ ratios or reporting previously delivered pages as zero.
336
+
337
+ Continue authorized work after a progress update. End only at the agreed scope,
338
+ a user pause or an actual unresolved blocker. This format applies to production
339
+ progress, not answers, review findings or necessary questions.
376
340
 
377
341
  ## Report the actual outcome
378
342
 
@@ -91,7 +91,7 @@ present an unresolved draft as the report that authorizes production. The report
91
91
  or checklist is task guidance, not a source unless the user explicitly asks to
92
92
  ingest it. Before the complete report has been presented, do not write a
93
93
  source-registration payload, start capture or extraction, configure Indexers,
94
- or enter Partition/Author work. A
94
+ or begin knowledge writing. A
95
95
  managed-mode choice does not waive this first reading opportunity. After feedback,
96
96
  use the exact current Route and include its work-start report reference in the
97
97
  source batch payload. Existing workspace updates follow their current update Route
@@ -117,9 +117,16 @@ Once the activation condition is met, run:
117
117
  context entry [project-dir] --language <language> --format json
118
118
  ```
119
119
 
120
- Use the requested language, otherwise `zh-CN` for Chinese or `en` for English.
121
- Pass `project-dir`, `--name`, `--dev` and `--debug` only when requested. Add
122
- `--managed` only with explicit fully managed authorization in this conversation.
120
+ Use the requested output language, otherwise `zh-CN` for Chinese or `en` for
121
+ English; explain actions in the conversation language from the first reply.
122
+ Preserve the user's requested project directory, name and initialization flags
123
+ in the first entry command. Normalize conversational `-dev` to `--dev` (not a
124
+ CLI alias). `--dev` selects the local SDK instead of a registry version;
125
+ `--debug` enables diagnostics independently. Neither implies the other.
126
+ Pass these flags only when requested; add `--managed` only with explicit fully
127
+ managed authorization. For a Chinese request for local SDK, debug and managed
128
+ initialization, use `context entry context/ --dev --debug --language zh-CN
129
+ --managed --format json` as one command, then preserve its returned init flags.
123
130
 
124
131
  Follow the returned `next_action.command`:
125
132
 
@@ -278,9 +285,8 @@ none was returned. A phase-local `next_action` is not a workspace Route.
278
285
  If `next_preparation` fails after committed outcomes, execute its recovery
279
286
  without resubmitting accepted work. Stage completion is not workspace completion:
280
287
  Changed delivery content must finish Review, close and build through their Routes.
281
- An empty Composer result is a decision not to add derived content, not an API
282
- regeneration or proof that existing pages meet a later revision request. Do not
283
- infer maintenance targets from Composer task names or count.
288
+ An empty result does not prove that existing pages meet a later revision request.
289
+ Register the actual maintenance targets rather than inferring them from task names.
284
290
 
285
291
  When the Graph reports complete, compare the user's original and subsequent
286
292
  requests with actual delivered results and registered maintenance targets.
@@ -290,7 +296,7 @@ conversational requests. Continue already authorized outstanding work through th
290
296
  normal Context revision/update entry and its fresh Route, respecting existing
291
297
  Gates. Do not ask for another "continue" solely because production finished.
292
298
  Report a blocker only when a required input, permission or actual entry failure
293
- prevents progress; do not invent a missing Review/build after an empty Composer.
299
+ prevents progress; do not invent missing work solely because a result is empty.
294
300
 
295
301
  For an authorized end-to-end task, continue while the current Route is actionable
296
302
  within that authority. Report batch progress during execution, without ending
@@ -308,74 +314,32 @@ and when the user declined it. Use the commit guide if the user chooses it.
308
314
  ## When selecting or customizing Indexers
309
315
 
310
316
  Read `context.indexer.provider-guide` at the path supplied by the Route and the
311
- selected Action's instructions. They own the selection schema, layer rules,
312
- customization ladder, program authorization and upgrade recovery.
313
-
314
- Use the supplied requirements and CLI-bundled catalog. Discover relevant
315
- external Providers only among Host-visible `context-…-indexer…` Skills and read
316
- their exposed manifest. Host switches and installation channels determine
317
- availability; the catalog does not override a disabled Skill or a chosen
318
- business replacement. Do not scan caches, run a discovery preflight, or create
319
- a second enabled-Skill registry.
320
-
321
- Copy bundled Provider identities from the catalog, even if the same version
322
- is Host-visible. Read only selected Provider guidance. Keep one primary for an
323
- existing page; supporting note/session material belongs in its evidence/read
324
- scope, with compatible extension guidance when needed. Source type alone does
325
- not require a new page. Submit the selection through the Route's
326
- `complete-current` contract; the CLI validates, resolves and applies it. Follow
327
- returned Host-resolution and program Gates without calling low-level commands
328
- as a parallel workflow. Provider finalization consumes its existing input and
329
- must not resolve or install the Provider again.
317
+ selected Action's instructions. Select relevant available Skills for the actual
318
+ materials and reader task, respecting disabled Skills and explicit business
319
+ replacements. Record usage through the current planning schema; do not reconstruct
320
+ a separate Provider selection, primary-owner or finalization workflow. Read only
321
+ selected guidance; do not scan plugin caches or create another Skill registry.
322
+ Supporting notes or sessions can enrich an existing article; a different source
323
+ type alone does not require another page.
330
324
 
331
325
  ## Progress reporting format
332
326
 
333
- For production progress updates, use two bold lines in this order. Describe
334
- the actual stage when counters are unavailable; include counts only when supplied:
335
-
336
- **[总体进展:已交付 33/125 ]**
337
- **[当前进展:已规划 3/8 项]**
338
-
339
- Use CLI `progress.scopes` (or `indexerProgress.scopes` in status) as the
340
- single source for progress in conversation and reports. It separates:
341
- - `overall`: delivered pages and cumulative planning for the current Indexer run;
342
- - `wave`: writing tasks, observed pages and composition for the current wave;
343
- - `slice`: tasks in the currently active Route slice.
344
-
345
- Planning completed counts currently valid accepted tasks, not lifetime effort.
346
- When overall.planning.needs_recheck is nonzero, report “规划当前有效 X/Y 项;Z 项因任务绑定变化待复核”.
347
- Do not describe a lower valid count as lost pages or silently restarting from zero.
348
- The CLI reason identifies binding changes, not proof that source code changed;
349
- do not invent a more specific cause.
350
-
351
- Keep these scopes separate. A wave or pause target never replaces the overall
352
- scope. Preserve overall planning across Author, Composer and Review transitions.
353
- Use each counter's `unit`: task means 项/任务, page means 页. A writing task is
354
- not automatically one page. A null total means 总数待确定, not zero or the
355
- number of currently prepared tasks. Revisions can overlap delivered pages;
356
- do not add wave tasks to delivered pages to invent a page total.
357
-
358
- Use two bold progress lines. The first combines `overall` and a clearly labelled
359
- `wave` supplement; the second describes the current action, using `slice` counts
360
- when available. Internal wave/slice names need not appear in user-facing text. For example, with matching CLI values:
361
- **[总体进展:已交付 33 页,总页数待确定;规划完成 50/122 项;本轮写作完成 30/30 项]**
362
- **[当前进展:补充内容检查 0/8 项]**
363
-
364
- A completion receipt's `submitted_slice` describes the slice just submitted;
365
- `progress.scopes.slice` can already describe the next Route. Use the former when
366
- reporting submission success and the latter when announcing the next slice.
367
- Never combine their numerators and denominators. A null slice means no active
368
- Agent task slice, not that the workflow is complete. During Review/build, state
369
- the returned Route action briefly rather than inventing a slice ratio.
370
- Before counters exist or after task cleanup, describe the known stage and current
371
- action instead of repeatedly saying counters are unavailable. For example:
372
- **[总体进展:正在准备知识工作区]**
373
- **[当前进展:已读取启动清单,正在整理仓库与文档范围]**
374
- During review or packaging, name that action rather than a nonexistent slice.
375
- Do not turn the last wave into the overall scope or report delivery as zero.
376
- Continue authorized work after an update; only the agreed delivery stop or an
377
- actual unresolved blocker permits stopping. This format governs progress, not
378
- answers, review findings or necessary questions.
327
+ For production updates, use two bold lines: overall progress, then the current
328
+ action. Use the conversation language. For example, when supported by the receipt:
329
+
330
+ **[总体进展:已交付 10 页;本轮写作已接收 3/5 ]**
331
+ **[当前进展:正在审核本轮文章]**
332
+
333
+ Use counts and their meanings from the current CLI result. Distinguish accepted
334
+ drafts from delivered pages, and the just-submitted subset from remaining work.
335
+ Do not require older overall/wave/slice fields or reconstruct missing totals.
336
+ Tasks and pages are not interchangeable; revisions do not automatically add pages.
337
+ Before counts exist or after cleanup, describe the actual stage without invented
338
+ ratios or reporting previously delivered pages as zero.
339
+
340
+ Continue authorized work after a progress update. End only at the agreed scope,
341
+ a user pause or an actual unresolved blocker. This format applies to production
342
+ progress, not answers, review findings or necessary questions.
379
343
 
380
344
  ## Report the actual outcome
381
345
 
@@ -61,6 +61,20 @@ returned action; accepted content needs a revision task.
61
61
 
62
62
  ## Writing follows actual behavior
63
63
 
64
+ For a large module, divide work by reader question or capability family, not
65
+ by an exhaustive symbol list. Put useful directory and entrypoint hints in the
66
+ task brief. Investigate one bounded slice first and keep remaining scope in the
67
+ existing plan; do not wait for a module-wide catalog before writing. Reuse shared
68
+ findings in temporary files across related tasks, checking source evidence for
69
+ new claims. If a task proves too broad, amend unfinished tasks rather than
70
+ expanding every dependency recursively. A complete component manual still needs
71
+ coverage of its agreed components, spread across manageable tasks.
72
+
73
+ Use explicit file selections for optional deep analysis. Package export tracing
74
+ can still follow other files to establish public identity, so selected output
75
+ does not guarantee a cheap scan. Prefer direct reading when that traversal is
76
+ unnecessary; stop or narrow a helper that exceeds the useful time/output budget.
77
+
64
78
  Explain what the module is responsible for, when and how to enter it through
65
79
  stable interfaces, what it hands off, and the relevant state and failure
66
80
  boundaries. A directory summary or symbol list is not an explanation.
@@ -11,7 +11,7 @@ compatibility layers, gateways, and translators whose stable responsibility is
11
11
  to connect two boundaries. An ordinary internal helper that converts one object
12
12
  is not automatically an adapter module.
13
13
 
14
- Use the exact profile and Artifact policy variant supplied by the workset. For
14
+ Follow the current task.md, sources.md and submission schema. For
15
15
  an inbound operation surface, combine this template with the selected gateway
16
16
  or protocol evidence without creating a second operation registry.
17
17
 
@@ -11,7 +11,7 @@ surface as `api-service`. A module that only calls a remote API is a protocol
11
11
  consumer, not automatically an API service. Gateways that translate to another
12
12
  protocol normally also selects `adapter-integration`.
13
13
 
14
- Use the exact profile and Artifact policy variant supplied by the workset. If
14
+ Follow the current task.md, sources.md and submission schema. If
15
15
  the reader goal is primarily the transformation between inbound and outbound
16
16
  boundaries, use the selected adapter-integration profile and retain one
17
17
  canonical operation registry.
@@ -10,7 +10,7 @@ Use for `background-runtime`: queue or stream consumers, scheduled jobs,
10
10
  pipelines, functions, controllers, watchers, and long-running agents activated
11
11
  by a trigger instead of an interactive request.
12
12
 
13
- Use the exact profile and Artifact policy variant supplied by the workset.
13
+ Follow the current task.md, sources.md and submission schema.
14
14
 
15
15
  ## Evidence pass
16
16
 
@@ -11,7 +11,7 @@ executables, generators, and command-driven plugin hosts. A build script used
11
11
  only internally does not need a CLI knowledge unit unless it is a supported
12
12
  operator or contributor surface.
13
13
 
14
- Use the exact profile and Artifact policy variant supplied by the workset.
14
+ Follow the current task.md, sources.md and submission schema.
15
15
 
16
16
  ## Evidence pass
17
17
 
@@ -12,7 +12,7 @@ imports and component contracts. A web application that happens to contain
12
12
  shared components remains a `web-application` unless the component surface is
13
13
  published as an independent consumer boundary.
14
14
 
15
- Use the exact profile and Artifact policy variant supplied by the workset.
15
+ Follow the current task.md, sources.md and submission schema.
16
16
 
17
17
  ## Evidence pass
18
18
 
@@ -30,10 +30,10 @@ Treat stories and examples as usage evidence, not as authority for unsupported
30
30
  props or behavior. When generated declarations disagree with source, identify
31
31
  the authoritative source and record the gap.
32
32
 
33
- When the Authorized Workset View supplies a public declaration together with
33
+ When the task's authorized sources supply a public declaration together with
34
34
  structured props, events, defaults, variants, maintained examples, or source
35
- roles, the corresponding reader section must consume those facts or record an
36
- explicit supported omission/material-gap disposition. Do not replace available
35
+ roles, use the relevant facts in the reader section and explain essential
36
+ missing material. Do not replace available
37
37
  contract facts with a generic statement about the component directory. A component group
38
38
  without a reader-authorizing public declaration remains catalog-only and does
39
39
  not produce an empty component page. Library and system subjects may instead be
@@ -11,7 +11,7 @@ IDL, OpenAPI document, schema registry, message contract, or equivalent
11
11
  machine-readable interface definition. It defines contracts consumed by other
12
12
  modules but does not need to execute or dispatch them itself.
13
13
 
14
- Use the exact profile and Artifact policy variant supplied by the workset.
14
+ Follow the current task.md, sources.md and submission schema.
15
15
  Generated projections must point back to this authority and remain supporting
16
16
  evidence rather than a second contract authority.
17
17
 
@@ -52,16 +52,14 @@ Examples include application-to-client-to-endpoint, endpoint-to-service-to-
52
52
  repository, producer-to-event-to-consumer, command-to-remote-operation, and
53
53
  plugin-host-to-provider.
54
54
 
55
- ## Partition and ownership rule
55
+ ## Article scope and source reuse
56
56
 
57
- A flow normally cites sources already owned by module units. Give the flow one
58
- stable article identity and keep module inventory ownership unchanged; its author
59
- workset may reference the exact cross-source evidence views but must not claim
60
- the same inventory members as a second primary owner.
57
+ A flow may reuse sources cited by module articles. Give the flow one stable
58
+ article identity and use the current task's authorized sources. No primary
59
+ owner or inventory membership is required; avoid duplicating existing prose.
61
60
 
62
- The aggregate candidate may cite evidence from every participating source. It
63
- must cover all Route-reported structural probes selected by the flow profile;
64
- one page may cover several probes when it carries each exact evidence locator.
61
+ The article may cite every authorized participating source. Cover the reader
62
+ question and relevant handoffs defined in the task brief.
65
63
  Explain operations and handoffs in reader prose, links or diagrams, citing the
66
64
  actual source regions for each fragment (at most three locations per fragment).
67
65
  Do not emit graph edges, classify nodes or create a relationship ledger.
@@ -11,7 +11,7 @@ reusable service contract and its first-level orchestration. Do not classify a
11
11
  directory as a service merely because it contains classes or functions named
12
12
  `Service`.
13
13
 
14
- Use the exact profile and Artifact policy variant supplied by the workset.
14
+ Follow the current task.md, sources.md and submission schema.
15
15
 
16
16
  ## Evidence pass
17
17
 
@@ -11,7 +11,7 @@ registration, ownership, dependency, build, or release topology of multiple
11
11
  child modules. Do not treat the physical repository as one application merely
12
12
  because it has one Git remote.
13
13
 
14
- Use the exact profile and Artifact policy variant supplied by the workset.
14
+ Follow the current task.md, sources.md and submission schema.
15
15
 
16
16
  ## Evidence pass
17
17
 
@@ -11,8 +11,7 @@ SDKs, public framework extensions, or shared runtimes consumed through a
11
11
  deliberately supported interface. A package being imported elsewhere is not
12
12
  enough; confirm its supported entry and consumer contract.
13
13
 
14
- Use the exact sdk-library or component-library profile and Artifact policy
15
- variant supplied by the workset.
14
+ Follow the current task.md, sources.md and submission schema.
16
15
 
17
16
  ## Evidence pass
18
17
 
@@ -15,7 +15,7 @@ only browser code. It does
15
15
  not automatically cover every package containing UI components; a reusable
16
16
  component package is usually `sdk-library`.
17
17
 
18
- Use the exact profile and Artifact policy variant supplied by the workset.
18
+ Follow the current task.md, sources.md and submission schema.
19
19
 
20
20
  ## Evidence pass
21
21