@phyzess/pappra 0.1.0-beta.13 → 0.1.0-beta.14
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 +1 -1
- package/dist/app/doctor.js +4 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ The check runs the source policy, type checks, formatting, deterministic tests a
|
|
|
95
95
|
|
|
96
96
|
## Status and limits
|
|
97
97
|
|
|
98
|
-
Pappra is development software (`0.1.0-beta.
|
|
98
|
+
Pappra is development software (`0.1.0-beta.14`) published as `@phyzess/pappra` under the `beta` dist-tag. Releases are published from GitHub Actions with npm trusted publishing (OIDC), so no npm token is stored in this repository. Pin either the moving `beta` tag or an exact version such as `@phyzess/pappra@0.1.0-beta.14`, because pre-release versions are never republished.
|
|
99
99
|
|
|
100
100
|
The deterministic suite covers synthetic workspaces, fixtures and local process boundaries. It does not establish real-model behavior, native host callability on every platform, CodeGraph completeness, Windows/Linux parity or production performance. A host adapter version pin is an observed support claim, not proof that a particular native installation will load or run correctly.
|
|
101
101
|
|
package/dist/app/doctor.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
1
|
+
import { isAbsolute, join, resolve } from 'node:path';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { diagnosticCodes } from '../schemas/errors.js';
|
|
4
4
|
import { DOCTOR_REPORT_SCHEMA, doctorReportSchema, } from '../schemas/doctor.js';
|
|
@@ -127,7 +127,9 @@ async function inspectInstallState(root, observedAt) {
|
|
|
127
127
|
actions.push(`Review ${entry.path}; rollback/uninstall will preserve the user-modified file.`);
|
|
128
128
|
}
|
|
129
129
|
if (entry.backupRef !== null) {
|
|
130
|
-
const backupPath =
|
|
130
|
+
const backupPath = isAbsolute(entry.backupRef)
|
|
131
|
+
? resolve(entry.backupRef)
|
|
132
|
+
: join(root, ...entry.backupRef.split('/'));
|
|
131
133
|
const backupBoundary = await ensureStatePathBoundary(root, backupPath);
|
|
132
134
|
const realBackup = await resolveRealpath(backupPath);
|
|
133
135
|
const backupEscapes = realBackup !== null &&
|