frontend-project-context 1.0.0 → 1.2.0
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/CHANGELOG.md +27 -2
- package/README.md +359 -94
- package/UPGRADING.md +35 -1
- package/docs/00-PRODUCT-CONSTITUTION.md +42 -10
- package/docs/04-PROGRAM-DESIGN.md +76 -2
- package/docs/05-ACCEPTANCE-CONTRACT.md +35 -3
- package/docs/08-INSTALLATION-AND-DISTRIBUTION.md +32 -18
- package/docs/14-FORMAL-RELEASE-READINESS.md +11 -5
- package/docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md +1 -1
- package/docs/16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md +469 -0
- package/docs/17-AI-EXCHANGE-BOUNDARY-DESIGN.md +268 -0
- package/docs/README.md +13 -5
- package/examples/README.md +15 -2
- package/examples/package.json +6 -2
- package/package.json +11 -8
- package/schemas/action-plan.schema.json +250 -0
- package/schemas/assist-bundle.schema.json +75 -0
- package/schemas/capabilities.schema.json +123 -0
- package/schemas/review-bundle.schema.json +109 -0
- package/src/project-context/assist.mjs +422 -0
- package/src/project-context/cli.mjs +143 -13
- package/src/project-context/exchange-schema.mjs +528 -0
- package/src/project-context/exchange.mjs +623 -0
- package/src/project-context/project-store.mjs +22 -0
- package/PROJECT_STATE.json +0 -176
- package/RTK.md +0 -13
package/PROJECT_STATE.json
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": 43,
|
|
3
|
-
"status": "1.0.0-public-npm-release-ready",
|
|
4
|
-
"product": {
|
|
5
|
-
"name": "Frontend Project Context",
|
|
6
|
-
"identity": "A project-local, model-neutral context governance and compilation layer between a repository and existing AI coding tools.",
|
|
7
|
-
"promise": "Maintain one human-approved project contract with provenance, compile scoped context for existing AI tools, and detect source, contract, and projection drift.",
|
|
8
|
-
"kernel": [
|
|
9
|
-
"source-registration-and-provenance",
|
|
10
|
-
"human-governed-project-contract",
|
|
11
|
-
"scope-aware-context-compiler",
|
|
12
|
-
"tool-projection-boundary",
|
|
13
|
-
"conflict-and-drift-checking"
|
|
14
|
-
],
|
|
15
|
-
"discoveryRole": "Optional conservative bootstrap; never a requirement to understand every frontend technology or project convention."
|
|
16
|
-
},
|
|
17
|
-
"hardBoundaries": {
|
|
18
|
-
"humanAuthority": "Only an explicit human action may approve or change normative contract content.",
|
|
19
|
-
"runtime": "No model Provider or agent loop.",
|
|
20
|
-
"businessCode": "No user development task execution or application-code edits.",
|
|
21
|
-
"git": "No Git state management.",
|
|
22
|
-
"externalEffects": "No automatic dependency installation, network access, external mutation, or shell workflow execution.",
|
|
23
|
-
"generatedFiles": "Only explicitly managed and still-owned projections may be overwritten after an explicit write action.",
|
|
24
|
-
"conflicts": "Report stale sources and conflicts; never silently resolve or promote them.",
|
|
25
|
-
"taskContext": "Ephemeral task constraints cannot expand authority or rewrite the persistent Contract."
|
|
26
|
-
},
|
|
27
|
-
"implementation": {
|
|
28
|
-
"version": "1.0.0",
|
|
29
|
-
"license": "Apache-2.0",
|
|
30
|
-
"copyright": "Copyright 2026 Fushan",
|
|
31
|
-
"entrypoint": "bin/project-context.mjs",
|
|
32
|
-
"modules": "src/project-context/",
|
|
33
|
-
"tests": "test/project-context/",
|
|
34
|
-
"runtime": "node-standard-library-only",
|
|
35
|
-
"dependenciesAdded": 0,
|
|
36
|
-
"schemas": {
|
|
37
|
-
"contract": 2,
|
|
38
|
-
"contractReadable": [
|
|
39
|
-
1,
|
|
40
|
-
2
|
|
41
|
-
],
|
|
42
|
-
"proposal": 1,
|
|
43
|
-
"sourceLock": 1,
|
|
44
|
-
"projectionLock": 1,
|
|
45
|
-
"projectionRenderer": 3,
|
|
46
|
-
"dashboardViewModel": 3
|
|
47
|
-
},
|
|
48
|
-
"closures": [
|
|
49
|
-
"v1-authoring",
|
|
50
|
-
"knowledge-maintenance",
|
|
51
|
-
"read-only-governance-dashboard",
|
|
52
|
-
"context-efficiency-and-governance-hardening",
|
|
53
|
-
"formal-release-readiness",
|
|
54
|
-
"source-lifecycle"
|
|
55
|
-
],
|
|
56
|
-
"hardening": [
|
|
57
|
-
"symlink-safe-parent-creation",
|
|
58
|
-
"verification-kind-schema-semantics",
|
|
59
|
-
"proposal-create-only-same-id-revision-guard",
|
|
60
|
-
"strict-contract-value-json-compatibility",
|
|
61
|
-
"grouped-multipath-context-rendering",
|
|
62
|
-
"primary-locale-context-with-explicit-en-or-all",
|
|
63
|
-
"compact-approval-json-receipt",
|
|
64
|
-
"dashboard-derived-data-deduplication",
|
|
65
|
-
"deprecated-source-io-suppression",
|
|
66
|
-
"projection-lock-snapshot-precondition"
|
|
67
|
-
],
|
|
68
|
-
"acceptance": {
|
|
69
|
-
"command": "npm run check",
|
|
70
|
-
"range": "A-01-through-A-45-plus-B0-01-B0-02-and-CLI",
|
|
71
|
-
"testCount": 49,
|
|
72
|
-
"status": "passed-source-lifecycle-closure-local",
|
|
73
|
-
"teamMaintenance": {
|
|
74
|
-
"date": "2026-09-08",
|
|
75
|
-
"fixture": "isolated-temporary-project",
|
|
76
|
-
"workflow": "source-change-review-accept-revise-deprecate-reapprove-republish-final-check",
|
|
77
|
-
"result": "passed"
|
|
78
|
-
},
|
|
79
|
-
"releaseReadiness": {
|
|
80
|
-
"date": "2026-09-08",
|
|
81
|
-
"package": "frontend-project-context@1.0.0",
|
|
82
|
-
"publicSurface": "project-context-cli",
|
|
83
|
-
"packagePrivate": false,
|
|
84
|
-
"registry": "https://registry.npmjs.org/",
|
|
85
|
-
"access": "public",
|
|
86
|
-
"license": "Apache-2.0",
|
|
87
|
-
"result": "public-release-configured-authenticated-ready"
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
"compatibility": "Contract schema 1 and 2 are readable. Existing schema-1 stores remain byte-stable until the first successful deprecate-source write lazily upgrades the Contract to schema 2; proposal and both locks remain schema 1. Renderer 1 and 2 projections remain readable and stale until explicit owned republish to renderer 3. Dashboard JSON consumers must opt into View Model schema 3; --full-json preserves the former verbose approval result on demand."
|
|
91
|
-
},
|
|
92
|
-
"planning": {
|
|
93
|
-
"releaseBlocker": {
|
|
94
|
-
"id": "source-lifecycle-closure",
|
|
95
|
-
"classification": "kernel-defect",
|
|
96
|
-
"targetPackageVersion": "1.0.0",
|
|
97
|
-
"status": "implemented-local-verified-release-hold-resolved",
|
|
98
|
-
"design": "docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md",
|
|
99
|
-
"evidence": [
|
|
100
|
-
"accept-source-change rejects missing or unreadable registered sources",
|
|
101
|
-
"register rejects a changed locator under an existing source ID",
|
|
102
|
-
"contract schema 1 has no safe source retirement state",
|
|
103
|
-
"a missing, relocated, or retired source therefore requires direct store editing to return check to clean"
|
|
104
|
-
],
|
|
105
|
-
"frozenScope": [
|
|
106
|
-
"contract-schema-2-active-and-deprecated-source-lifecycle",
|
|
107
|
-
"explicit-deprecate-source-command",
|
|
108
|
-
"schema-1-lazy-compatibility-migration",
|
|
109
|
-
"checker-dashboard-context-and-publish-lifecycle-consistency",
|
|
110
|
-
"A-40-through-A-45"
|
|
111
|
-
],
|
|
112
|
-
"result": {
|
|
113
|
-
"date": "2026-09-08",
|
|
114
|
-
"tests": 49,
|
|
115
|
-
"contractSchemasReadable": [
|
|
116
|
-
1,
|
|
117
|
-
2
|
|
118
|
-
],
|
|
119
|
-
"contractSchemaWrittenByLifecycle": 2,
|
|
120
|
-
"dashboardViewModel": 3,
|
|
121
|
-
"selfHostedContractSchema": 1,
|
|
122
|
-
"selfHostedMigrationReason": "No self-hosted source is obsolete; schema 1 remains valid until a real source retirement requires lazy migration."
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
"laterCandidates": [
|
|
126
|
-
{
|
|
127
|
-
"id": "ci-reconciliation-artifacts",
|
|
128
|
-
"classification": "optional-adapter",
|
|
129
|
-
"status": "candidate-after-release-decision",
|
|
130
|
-
"boundary": "Reuse check and dashboard in external CI; do not add a scheduler, daemon, automatic acceptance, or approval."
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"id": "targeted-context-consumer-protocol",
|
|
134
|
-
"classification": "optional-adapter",
|
|
135
|
-
"status": "candidate-requires-separate-design-authorization",
|
|
136
|
-
"boundary": "Coding Agent or IDE resolves candidate paths and consumes context --path; no Provider, Agent Runtime, business-code execution, or automatic authority expansion."
|
|
137
|
-
}
|
|
138
|
-
]
|
|
139
|
-
},
|
|
140
|
-
"executionAuthority": {
|
|
141
|
-
"providerCallsAllowed": false,
|
|
142
|
-
"dependencyInstallationAllowed": false,
|
|
143
|
-
"networkAllowed": true,
|
|
144
|
-
"productImplementationAllowed": false,
|
|
145
|
-
"realProjectBetaAllowed": false,
|
|
146
|
-
"teamAcceptanceAllowed": false,
|
|
147
|
-
"releaseWorkAllowed": true,
|
|
148
|
-
"gitWriteOperationsAllowed": true,
|
|
149
|
-
"note": "The user authorized completing the public release and npmjs.org CLI authentication is verified as fushanyx1. Public npm visibility, private:false, release verification, Git release commit/tag/push, and npm publication are in scope for this release workflow. Provider calls, dependency installation, real-project access, and product expansion remain unauthorized."
|
|
150
|
-
},
|
|
151
|
-
"sourceOfTruth": {
|
|
152
|
-
"constitution": "docs/00-PRODUCT-CONSTITUTION.md",
|
|
153
|
-
"startup": "RTK.md",
|
|
154
|
-
"overview": "README.md",
|
|
155
|
-
"documentationIndex": "docs/README.md",
|
|
156
|
-
"programDesign": "docs/04-PROGRAM-DESIGN.md",
|
|
157
|
-
"acceptanceContract": "docs/05-ACCEPTANCE-CONTRACT.md",
|
|
158
|
-
"v1AuthoringClosureDesign": "docs/11-V1-AUTHORING-CLOSURE-DESIGN.md",
|
|
159
|
-
"knowledgeMaintenanceClosureRoadmap": "docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md",
|
|
160
|
-
"readOnlyGovernanceDashboardDesign": "docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md",
|
|
161
|
-
"formalReleaseReadiness": "docs/14-FORMAL-RELEASE-READINESS.md",
|
|
162
|
-
"sourceLifecycleClosureDesign": "docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md",
|
|
163
|
-
"license": "LICENSE",
|
|
164
|
-
"notice": "NOTICE",
|
|
165
|
-
"installationAndDistribution": "docs/08-INSTALLATION-AND-DISTRIBUTION.md",
|
|
166
|
-
"historicalEvidence": [
|
|
167
|
-
"docs/06-HISTORICAL-PROTOTYPE.md",
|
|
168
|
-
"docs/07-REAL-TASK-EVIDENCE.md",
|
|
169
|
-
"docs/09-B0-DTG-TMC-MOBILE.md",
|
|
170
|
-
"docs/10-B0-DTG-TMC-PC.md"
|
|
171
|
-
]
|
|
172
|
-
},
|
|
173
|
-
"next": [
|
|
174
|
-
"publish-frontend-project-context-1.0.0-to-public-npm"
|
|
175
|
-
]
|
|
176
|
-
}
|
package/RTK.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Frontend Project Context — 启动路由
|
|
2
|
-
|
|
3
|
-
按顺序读取:
|
|
4
|
-
|
|
5
|
-
1. `docs/00-PRODUCT-CONSTITUTION.md`:产品身份、内核、永久边界与治理规则;
|
|
6
|
-
2. `PROJECT_STATE.json`:当前版本、实现、授权和唯一下一步;
|
|
7
|
-
3. 仅在任务需要时读取 `PROJECT_STATE.json.sourceOfTruth` 指向的设计或证据。
|
|
8
|
-
|
|
9
|
-
当前摘要:`1.0.0-public-npm-release-ready`。v1 已冻结为 `frontend-project-context@1.0.0`,采用 Apache-2.0 与 `Copyright 2026 Fushan`;Source Lifecycle Closure 和全部 49 项本地验收通过。Contract reader 支持 schema 1/2,schema 1 只在首次成功 `deprecate-source --write` 时延迟升级为 2;proposal 与两个 lock 保持 1,projection renderer 为 3,Dashboard View Model 为 3。
|
|
10
|
-
|
|
11
|
-
根 `AGENTS.md` 由人工维护;`.project-context/` 是本仓库自托管真源;投影只是可重新生成的消费端文件。任何历史文档与宪法冲突时以宪法为准,任何动态状态与 `PROJECT_STATE.json` 冲突时以后者为准。
|
|
12
|
-
|
|
13
|
-
用户已授权完成公开发布;package 已固定 `private: false`、public access 和官方 npm registry,npmjs.org CLI 身份已验证。当前唯一下一步是完成最终 pack、release commit、`v1.0.0` tag/push 与 `npm publish`。Provider、依赖安装、真实业务项目访问和产品扩张仍未授权。
|