@compforge/harness-common 0.3.5 → 0.3.7

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.
package/README.md CHANGED
@@ -38,6 +38,8 @@ import type { Service } from "@compforge/harness-common";
38
38
 
39
39
  const service: Service = {
40
40
  name: "chat",
41
+ concepts: "A Conversation contains Messages; each Message may have multiple execution Attempts.",
42
+ workflows: "Accept message → execute attempt → persist response. Acceptance does not imply completion.",
41
43
  component: {
42
44
  name: "api",
43
45
  repository: { forge: { name: "github" }, path: "example/app" },
@@ -50,6 +52,12 @@ const service: Service = {
50
52
  };
51
53
  ```
52
54
 
55
+ Service and Product accept an optional description for a short introduction, plus optional
56
+ concepts and workflows Markdown text. Concepts explain
57
+ objects, relationships and constraints; workflows explain collaboration from trigger to completion.
58
+ Service knowledge covers its own responsibilities, while Product knowledge covers end-to-end flows.
59
+ Consumers maintain this offline metadata; it does not change identity, execute a workflow or prove runtime state.
60
+
53
61
  Environment carries identity and an optional local/SSH Host declaration, not a connection. HostEnvironment
54
62
  describes a target running directly on that host. Concrete accessible environments, such as toolbox's
55
63
  KubernetesEnvironment, additionally implement ClientProvider. A Host declaration alone does not add SSH
package/dist/product.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  /** A business identity independent of repository layout.
2
2
  * Consumers own its many-to-many associations with Components.
3
+ * @spec Description, concepts and workflows describe product-wide knowledge, not identity or runtime evidence.
4
+ * @see {@link component://docs/kernel.md}
3
5
  */
4
6
  export interface Product {
5
7
  readonly name: string;
8
+ /** Optional short introduction; not part of Product identity. */
9
+ readonly description?: string;
10
+ /** Optional Markdown: domain objects, relationships and constraints. */
11
+ readonly concepts?: string;
12
+ /** Optional Markdown: collaboration from trigger to completion; not an executable plan. */
13
+ readonly workflows?: string;
6
14
  }
package/dist/service.d.ts CHANGED
@@ -5,10 +5,16 @@ import type { Workload } from "./workload.js";
5
5
  * One Component's logical runtime presence in an Environment.
6
6
  * @spec Identity is scoped by name, Component and Environment, not platform resource names.
7
7
  * @rule Workload mappings may change without changing Service identity; declarations prove no live instances.
8
+ * @spec Description, concepts and workflows are discovery metadata, not identity or runtime evidence.
9
+ * @see {@link component://docs/kernel.md}
8
10
  * Consumers extend this model with their own capabilities and execution policy.
9
11
  */
10
12
  export interface Service<E extends Environment = Environment> {
11
13
  readonly name: string;
14
+ /** Optional Markdown: domain objects, relationships and constraints. */
15
+ readonly concepts?: string;
16
+ /** Optional Markdown: collaboration from trigger to completion; not an executable plan. */
17
+ readonly workflows?: string;
12
18
  /** Human-readable discovery metadata; not part of Service identity. */
13
19
  readonly description?: string;
14
20
  readonly component: Component;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compforge/harness-common",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "Execution-neutral client lifecycle and datasource contracts for harnesses",
5
5
  "type": "module",
6
6
  "scripts": {