genesis-compiler 1.10.1 → 1.10.2

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/docs/templates.md CHANGED
@@ -92,7 +92,11 @@ An empty bootstrap subsystem map yields to the starter's authored map, keeping
92
92
  the imported Program connected to its source. A nonempty destination map remains
93
93
  authored project context; incompatible declarations fail validation before copying.
94
94
  Template Stack components/packages are combined with existing selections;
95
- existing complete operation sections take precedence. No dependency command,
95
+ existing complete operation sections take precedence. When the starter's Stack
96
+ predates a section its selected components now propose, Genesis adopts the
97
+ current proposal, as `genesis migrate` would, so a new project never starts with
98
+ pending proposals. A section whose proposals compete still fails validation
99
+ before copying. No dependency command,
96
100
  database command, agent, or Git commit runs during import. The result reports
97
101
  the resolved source repository, branch and commit; no provenance ledger is
98
102
  written to the project. Review the ordinary diff and commit it, or save it through the host.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genesis-compiler",
3
- "version": "1.10.1",
3
+ "version": "1.10.2",
4
4
  "type": "module",
5
5
  "description": "An agent-independent prompt, multi-language code-index, cleanup, and verification companion with project agent guidance.",
6
6
  "repository": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genesis",
3
- "version": "1.10.1",
3
+ "version": "1.10.2",
4
4
  "description": "Makes Codex aware of optional Genesis adoption for existing projects.",
5
5
  "author": {
6
6
  "name": "Mobily Enterprises"
@@ -11,7 +11,7 @@ import { GENESIS_BOOTSTRAP_PATHS, inspectProject } from './project-inspection.js
11
11
  import { runGit, runGitText } from './process.js';
12
12
  import { listTemplates, resolveTemplate } from './template-catalog.js';
13
13
  import { readGitSnapshot } from './template-source.js';
14
- import { readStack } from './stack.js';
14
+ import { materializeProjectStackContracts, readStack } from './stack.js';
15
15
  import { inspectSubsystems } from './subsystems.js';
16
16
  import { writeFileAtomic } from './utils.js';
17
17
  import { claudeSkillLinkTarget } from './claude-hooks.js';
@@ -124,6 +124,10 @@ export async function applyTemplate({ projectRoot, templateId, stackPackages = [
124
124
  await symlink(linkTarget, location, 'dir');
125
125
  } else await writeFile(location, value);
126
126
  }
127
+ // A new project starts complete: adopt the current proposals of the starter's
128
+ // components for any section its Stack predates, as `genesis migrate` would.
129
+ const { pendingSections } = await readStack(stagingRoot, { allowUnresolvedSections: true, stackPackages });
130
+ if (pendingSections.length > 0) await materializeProjectStackContracts({ projectRoot: stagingRoot, stackPackages });
127
131
  await initializeProject({ projectRoot: stagingRoot, stackPackages });
128
132
  await buildProjectIndex({ projectRoot: stagingRoot, stackPackages });
129
133
  const prepared = await inspectProject({ projectRoot: stagingRoot, stackPackages });