artifact-graph 0.7.0 → 0.8.1

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.
@@ -0,0 +1,26 @@
1
+ name: Bug report
2
+ description: Report a reproducible problem
3
+ title: "[Bug]: "
4
+ labels: ["bug"]
5
+ body:
6
+ - type: textarea
7
+ id: summary
8
+ attributes:
9
+ label: Summary
10
+ description: What happened?
11
+ validations:
12
+ required: true
13
+ - type: textarea
14
+ id: reproduce
15
+ attributes:
16
+ label: Reproduction
17
+ description: Steps to reproduce the issue.
18
+ validations:
19
+ required: true
20
+ - type: textarea
21
+ id: environment
22
+ attributes:
23
+ label: Environment
24
+ description: Node.js version, package version, OS, and package manager.
25
+ validations:
26
+ required: false
@@ -0,0 +1,19 @@
1
+ name: Feature request
2
+ description: Suggest an improvement
3
+ title: "[Feature]: "
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: textarea
7
+ id: problem
8
+ attributes:
9
+ label: Problem
10
+ description: What problem should this solve?
11
+ validations:
12
+ required: true
13
+ - type: textarea
14
+ id: proposal
15
+ attributes:
16
+ label: Proposal
17
+ description: What would a good solution look like?
18
+ validations:
19
+ required: true
@@ -0,0 +1,14 @@
1
+ ## Summary
2
+
3
+ -
4
+
5
+ ## Validation
6
+
7
+ - [ ] `pnpm build`
8
+ - [ ] `pnpm test`
9
+ - [ ] `pnpm typecheck --if-present`
10
+
11
+ ## Checklist
12
+
13
+ - [ ] README / CHANGELOG updated when user-facing behavior changed
14
+ - [ ] No private parent-repository files or local machine paths included
@@ -0,0 +1,23 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: pnpm/action-setup@v4
14
+ with:
15
+ version: 10.17.1
16
+ - uses: actions/setup-node@v4
17
+ with:
18
+ node-version: 22
19
+ - run: pnpm install
20
+ - run: pnpm test:ci
21
+ - run: pnpm typecheck
22
+ - run: pnpm build
23
+ - run: git diff --exit-code
package/CHANGELOG.md CHANGED
@@ -1,6 +1,39 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## 0.8.1
4
+
5
+ ### Changed
6
+
7
+ - **Version bump for dual-repo synchronization with `artifact-chain-assistant@0.8.1`**. Includes README
8
+ documentation polish, three new entry skills (`help`, `setup`, `quickstart`), external marketplace
9
+ (`ifoohoo/artifact-skill-set`) installation support, and release gate fixes.
10
+
11
+ ## 0.8.0
12
+
13
+ ### Added
14
+
15
+ - **Artifact relation version locks**: `version-lock refresh` and `bootstrap` now generate
16
+ `artifactRelations` entries for artifact-to-artifact edges (for example, skill→skill_family and
17
+ feature→scenario). The `audit` command checks for missing relation locks, content hash mismatches,
18
+ and path drift.
19
+
20
+ ### Changed
21
+
22
+ - **Strict local artifact-relation refresh**: `version-lock refresh --changed-only` updates or adds
23
+ only relation locks whose endpoints are reached by the current worktree or staged change set. It
24
+ no longer fills unrelated missing relation locks while processing a local change; use
25
+ `version-lock refresh --all` only when intentionally establishing a complete relation baseline.
26
+ - **Deterministic, reproducible relation locks**: relation lock output uses deterministic sorting and
27
+ carries no timestamps, so identical artifact content produces byte-identical lock files across
28
+ environments and runs.
29
+ - **Old 1.0 lock read boundary**: lock files written before artifact relations existed (no
30
+ `artifactRelations` key) are read as an empty relation list instead of failing; run
31
+ `version-lock refresh --all` once to establish the complete relation baseline.
32
+ - **Non-software domain isolation via `baselinePolicy: false`**: when a project explicitly disables
33
+ the universal baseline (`baselinePolicy: false` in the context/packet manifest), packet assembly
34
+ and validation no longer inject the software-development defaults — baseline constraints, the risk
35
+ checklist, and blueprint non-goals are required to be empty (PKT-005 / PKT-010), so non-software
36
+ skill-family domains are not forced through software-specific packet rules.
4
37
 
5
38
  ## 0.7.0
6
39
 
@@ -0,0 +1,11 @@
1
+ # Code of Conduct
2
+
3
+ This project follows a simple contributor covenant:
4
+
5
+ - Be respectful and constructive.
6
+ - Assume good intent, but accept responsibility for impact.
7
+ - Keep technical discussion focused on the work.
8
+ - Do not harass, insult, or discriminate.
9
+
10
+ Maintainers may remove comments, issues, pull requests, or other contributions that violate these
11
+ expectations.
@@ -0,0 +1,29 @@
1
+ # Contributing
2
+
3
+ Thanks for your interest in contributing.
4
+
5
+ > **This repository is a release snapshot.** Documentation (README, CHANGELOG, INSTALL,
6
+ > NOTICE) and shared files are rendered from a private workspace. Direct pull requests
7
+ > against these files will be overwritten by the next render — please open an issue
8
+ > instead, and the maintainers will make the change at the source.
9
+
10
+ ## Development
11
+
12
+ Use Node.js `>=22.0.0`.
13
+
14
+ ```bash
15
+ pnpm install
16
+ pnpm build
17
+ pnpm test
18
+ ```
19
+
20
+ ## Pull Requests
21
+
22
+ - Keep changes focused.
23
+ - Documentation changes should be proposed as issues (see above); code changes should update tests when behavior changes.
24
+ - Run the package validation commands before opening a pull request.
25
+ - Do not include private parent-repository artifacts or local machine paths.
26
+
27
+ ## License
28
+
29
+ By contributing, you agree that your contribution is licensed under Apache-2.0.
package/README.md CHANGED
@@ -8,6 +8,25 @@ Git-native Markdown artifact graph scanner and validator for agentic coding work
8
8
  and version-lock metadata connected. It is designed for deterministic local use before an AI coding
9
9
  agent claims implementation work is complete.
10
10
 
11
+ <!-- release-skill:capability:external-write-boundary -->
12
+ > **External-write boundary:** Installing `artifact-graph` does not modify a project or write to
13
+ > remote systems. Read-only commands such as `--help`, `doctor`, `validate`, `query`, and `audit`
14
+ > do not change project files. Commands including `init`, `version-lock refresh`, and
15
+ > `hooks install-git` write locally only when explicitly invoked.
16
+
17
+ <!-- release-skill:capability:safe-first-command -->
18
+ > **Safe first command:** Inspect the installed CLI and project health before authorizing any
19
+ > initialization, version-lock refresh, or hook installation.
20
+
21
+ ```bash
22
+ pnpm exec artifact-graph --help
23
+ pnpm exec artifact-graph doctor --root .
24
+ ```
25
+
26
+ If either read-only command fails, confirm that Node.js `>=22.0.0` is active and reinstall the
27
+ package using the precise instructions in [INSTALL.md](INSTALL.md). Do not run a write command
28
+ until the CLI resolves successfully and doctor reports an actionable diagnosis.
29
+
11
30
  ## Install
12
31
 
13
32
  ```bash
@@ -49,19 +68,33 @@ npx artifact-graph version-lock audit --root . --strict-missing-lock
49
68
  - Validate Review Result Protocol v1.0 documents with `artifact-graph validate-review-result --file <path>`.
50
69
  - Build implementation context with `artifact-graph context` or `artifact-graph packet`.
51
70
  - Keep traceability freshness with `artifact-graph version-lock refresh` and `audit`.
71
+ - Version lock covers both implementation/verification edges (`locks`) and artifact-to-artifact
72
+ relations (`artifactRelations`). Old 1.0 lock files without `artifactRelations` are treated as
73
+ having an empty relation list; run `refresh --all` once to establish the complete relation baseline.
52
74
  - Install opt-in Git hooks with `artifact-graph hooks install-git --hook all`.
53
75
 
54
76
  ## Review Result Protocol
55
77
 
56
- The package publishes `schemas/review-result.schema.json` and a matching TypeScript types + validateReviewResult validator API.
57
- The protocol is project-neutral and supports review, repair, batch evidence, findings, metrics, and
58
- fail-closed decisions. Unknown top-level fields are rejected; `attempt` is limited to 1–3;
59
- successful acceptance requires `producer`; and `PASS`/`PASS_WITH_RESIDUAL_MINOR` cannot contain an
60
- open `block` finding. Independent repair re-review can record `acceptance.reviewer` and
61
- `acceptance.source_result`; the validator rejects self-acceptance by the repair producer. Invalid
62
- fields and semantic violations are reported with stable JSON paths. JSON Schema cannot compare
63
- cross-object field values, so callers must also run the semantic validator; stable identity is
64
- `executor + name`, while `skill` is only metadata and cannot establish independence.
78
+ The package publishes `schemas/review-result.schema.json`, plus matching TypeScript types and a
79
+ `validateReviewResult` validator API. The protocol is project-neutral: it covers review, repair,
80
+ batch evidence, findings, metrics, and fail-closed decisions.
81
+
82
+ Unknown top-level fields are rejected; `attempt` is limited to 1–3; successful acceptance requires
83
+ a `producer`; and `PASS`/`PASS_WITH_RESIDUAL_MINOR` cannot contain an open `block` finding. An
84
+ independent repair re-review may record `acceptance.reviewer` and `acceptance.source_result`; the
85
+ validator rejects self-acceptance by the repair producer. Invalid fields and semantic violations
86
+ are reported with stable JSON paths.
87
+
88
+ Because JSON Schema cannot compare values across objects, callers must also run the semantic
89
+ validator. Stable identity is `executor + name`; `skill` is only metadata and cannot establish
90
+ independence.
91
+
92
+ ## Documentation
93
+
94
+ - [INSTALL.md](INSTALL.md) — detailed installation and pnpm 10+ setup guide
95
+ - [CHANGELOG.md](CHANGELOG.md) — release history
96
+ - [CONTRIBUTING.md](CONTRIBUTING.md) — contribution guidelines
97
+ - [SECURITY.md](SECURITY.md) — security policy
65
98
 
66
99
  ## Related Project
67
100
 
package/README.zh-CN.md CHANGED
@@ -7,6 +7,24 @@
7
7
  它把项目里的需求、场景、设计、源码、测试和 version-lock 元数据连成一张图,
8
8
  供 AI agent 在宣称实现完成之前,用确定性的本地命令检查上下文和追溯关系。
9
9
 
10
+ <!-- release-skill:capability:external-write-boundary -->
11
+ > **外部写入边界:** 安装 `artifact-graph` 不会修改项目或写入远端。`--help`、`doctor`、
12
+ > `validate`、`query` 和 `audit` 等只读命令不会更改项目文件。只有显式执行 `init`、
13
+ > `version-lock refresh` 或 `hooks install-git` 等命令时才会发生本地写入。
14
+
15
+ <!-- release-skill:capability:safe-first-command -->
16
+ > **安全的第一步:** 在授权初始化、刷新版本锁或安装 hook 前,先检查已安装的命令行工具
17
+ > 和项目健康状态。
18
+
19
+ ```bash
20
+ pnpm exec artifact-graph --help
21
+ pnpm exec artifact-graph doctor --root .
22
+ ```
23
+
24
+ 如果任一只读命令失败,先确认当前 Node.js 版本不低于 `22.0.0`,再按照
25
+ [INSTALL.md](INSTALL.md) 中的精确说明重新安装;命令行工具能够正常解析且 doctor
26
+ 给出可处理的诊断前,不要运行写入命令。
27
+
10
28
  ## 安装
11
29
 
12
30
  ```bash
@@ -47,6 +65,8 @@ npx artifact-graph version-lock audit --root . --strict-missing-lock
47
65
  - 用 `artifact-graph validate-review-result --file <path>` 校验 Review Result Protocol v1.0 文档。
48
66
  - 用 `artifact-graph context` 或 `artifact-graph packet` 构建实现上下文。
49
67
  - 用 `artifact-graph version-lock refresh` 和 `audit` 保持追溯关系及时更新。
68
+ - 版本锁覆盖实现/验证边(`locks`)和制品间关系(`artifactRelations`)。旧版 1.0 锁文件缺少
69
+ `artifactRelations` 时视为空数组;首次启用时执行一次 `refresh --all` 建立完整关系基线。
50
70
  - 用 `artifact-graph hooks install-git --hook all` 安装可选 Git hooks。
51
71
 
52
72
  ## Review Result Protocol
@@ -60,6 +80,13 @@ fail-closed decision;非法字段和语义违规都会以稳定的 JSON path
60
80
  JSON Schema 无法比较跨对象的字段值,因此调用方还必须运行语义 validator;稳定身份由
61
81
  `executor + name` 构成,`skill` 只是附加元数据,不能用来证明独立性。
62
82
 
83
+ ## 文档导航
84
+
85
+ - [INSTALL.md](INSTALL.md) — 详细安装指南与 pnpm 10+ 配置
86
+ - [CHANGELOG.md](CHANGELOG.md) — 版本发布历史
87
+ - [CONTRIBUTING.md](CONTRIBUTING.md) — 贡献指南
88
+ - [SECURITY.md](SECURITY.md) — 安全策略
89
+
63
90
  ## 相关项目
64
91
 
65
92
  如果需要 Codex / Claude Code 技能来引导制品链的接入、初始化和日常维护,请使用
package/SECURITY.md ADDED
@@ -0,0 +1,19 @@
1
+ # Security Policy
2
+
3
+ ## Reporting A Vulnerability
4
+
5
+ Please do not open a public issue for sensitive security reports.
6
+
7
+ Send a private report to the repository owner through GitHub's private vulnerability reporting when
8
+ available, or contact the maintainer directly.
9
+
10
+ Include:
11
+
12
+ - affected package and version;
13
+ - reproduction steps;
14
+ - impact;
15
+ - suggested fix, if known.
16
+
17
+ ## Supported Versions
18
+
19
+ Security fixes target the latest released version.
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "artifact-graph",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "description": "Git-native Markdown artifact graph scanner and validator",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
+ "packageManager": "pnpm@10.17.1",
7
8
  "keywords": [
8
9
  "artifact-graph",
9
10
  "traceability",
@@ -34,6 +35,17 @@
34
35
  "engines": {
35
36
  "node": ">=22.0.0"
36
37
  },
38
+ "scripts": {
39
+ "build": "tsup src/index.ts --format esm,cjs --dts --splitting false && tsup src/cli.ts --format esm --dts --splitting false",
40
+ "test": "vitest run --config vitest.config.ts",
41
+ "test:ci": "ARTIFACT_GRAPH_PUBLIC_REPO=1 vitest run --config vitest.config.ts && pnpm test:npm-consumer",
42
+ "test:npm-consumer": "node test/npm-bin-install.test.mjs",
43
+ "test:watch": "vitest",
44
+ "typecheck": "tsc --noEmit",
45
+ "clean": "rm -rf dist coverage",
46
+ "packet:audit": "node scripts/run-packet-audit.mjs",
47
+ "packet:prompt-audit": "node scripts/run-packet-prompt-audit.mjs"
48
+ },
37
49
  "dependencies": {
38
50
  "ajv": "^8.20.0",
39
51
  "better-sqlite3": "^11.9.0",
@@ -56,6 +68,10 @@
56
68
  "LICENSE",
57
69
  "NOTICE",
58
70
  "INSTALL.md",
71
+ "CONTRIBUTING.md",
72
+ "CODE_OF_CONDUCT.md",
73
+ "SECURITY.md",
74
+ ".github",
59
75
  "dist",
60
76
  "schemas",
61
77
  "contracts",
@@ -74,15 +90,10 @@
74
90
  "contributors": [
75
91
  "mzdbxqh"
76
92
  ],
77
- "scripts": {
78
- "build": "tsup src/index.ts --format esm,cjs --dts --splitting false && tsup src/cli.ts --format esm --dts --splitting false",
79
- "test": "vitest run --config vitest.config.ts",
80
- "test:ci": "ARTIFACT_GRAPH_PUBLIC_REPO=1 vitest run --config vitest.config.ts && pnpm test:npm-consumer",
81
- "test:npm-consumer": "node test/npm-bin-install.test.mjs",
82
- "test:watch": "vitest",
83
- "typecheck": "tsc --noEmit",
84
- "clean": "rm -rf dist coverage",
85
- "packet:audit": "node scripts/run-packet-audit.mjs",
86
- "packet:prompt-audit": "node scripts/run-packet-prompt-audit.mjs"
93
+ "pnpm": {
94
+ "onlyBuiltDependencies": [
95
+ "better-sqlite3",
96
+ "esbuild"
97
+ ]
87
98
  }
88
- }
99
+ }
File without changes
File without changes
File without changes