Renma v0.36.1
Renma v0.36.1 includes 28 changelog entries across changed.
This release covers changes from v0.36.0 to v0.36.1.
Highlights
Changed
- Narrowed 27 security-analysis helper types to their owning modules. Their
definitions and the function signatures that use them are unchanged, while
unsupported internal deep-import surfaces no longer expose local-only names. - Narrowed body-policy lexical exports to the completed patterns and
recognizers used by neighboring analyzers. Regex vocabulary fragments used
only to assemble those patterns now remain private to their owner module;
diagnostic behavior is unchanged. - Narrowed internal security-command dependencies to import destination
analysis functions and types from their owning modules instead of routing
through the security-destination subsystem entrypoint. Public exports and
runtime behavior remain unchanged. - Simplified the security-destination subsystem entrypoint so bindings used
only for forwarding are re-exported directly from their owners. The cohesive
entrypoint and all destination-analysis consumers remain unchanged. - Moved the public JSON schema inventory from production commands to test
support, its only consumer. Compatibility tests still derive every identifier
from its runtime owner, while the unused production module is no longer built
or packaged. - Folded the single-consumer Markdown source-to-visible offset projection into
MarkdownSecurityView. The standalone implementation module and its exported
working types were removed without changing Markdown parsing or diagnostic
source mapping. - Replaced the single-consumer rule-engine abstraction with a local function
registry inrules.ts. Eleven decorative registry IDs, object wrappers, and
the unreachable optional-config guard were removed without changing finding
IDs, evaluation order, or diagnostics. - Removed two destination-analysis composition wrappers that were used only by
tests. Production consumers continue to use the underlying typed analysis and
intent projections directly; test-only convenience stays in test code. - Enabled TypeScript's unused-local and unused-parameter checks across source
and tests, and removed the nine unused imports, locals, parameters, and test
helpers they exposed. Runtime behavior and test coverage remain unchanged. - Removed the remaining cross-owner internal type re-exports from executable
inventory, body-policy clause analysis, and security-command working types.
Consumers now import those contracts from their defining modules; intentional
public facades and cohesive subsystem entrypoints remain unchanged. - Made 63 command- and CLI-local types module-private after verifying that they
have no cross-file consumers. Cross-module command contracts and every public
package entrypoint remain unchanged. - Narrowed the internal runtime surface by making 33 helpers module-private
after verifying that they have no cross-file consumers. Public package
entrypoints, schema identities, and type contracts remain unchanged. - Removed five zero-consumer internal declarations: the historical Agent Skill
name-validation wrapper, three unused derived types, and one unused body-policy
test projection helper. - Consolidated internal module ownership by removing cross-owner re-exports
from metadata parsing, discovery, repository paths, and security diagnostics.
Internal consumers now import metadata definitions, Skill path contracts,
helper-command evidence, and destination analysis from their cohesive owners;
the supportedrenma/discoverypublic surface remains unchanged. - Removed the internal
AGENT_SKILLS_TOP_LEVEL_FIELDSre-export from
agent-skills.ts; internal contract tests now import the metadata definition
owner directly. - Removed the unused internal
CanonicalSecurityOperationalFieldre-export
fromsecurity-policy.ts; its definition remains owned by
metadata-definitions.ts. - Removed the one-line internal
context-language-diagnostics.tsfacade;
catalog analysis now imports its implementation owner directly. - Removed the internal
AssetOwnershipre-export frommodel.ts; command
consumers now import the cohesive governance type owner directly. - Removed Catalog Finding compatibility re-exports from
scanner.ts; the
ordered definition registry and diagnostic conversion remain owned only by
catalog-findings.ts. - Removed internal result-type and renderer compatibility re-exports from the
inspect and suggest-metadata command modules. Internal consumers now import
the evidence, decision, and renderer owners directly. - Removed the final internal dependency-layer exception by keeping the
single-use classification index projection inside repository snapshot
construction instead of a higher-layer evidence module. - Removed the unused internal
src/types.tscompatibility facade and updated
tests to import cohesive type owners directly. The supportedrenma/types
package export remains owned bysrc/public-types.tsand is unchanged. - Froze the Renma 1.0 release-candidate top-level JSON schema identities while
retaining the existing whole-document, published-schema, semantic-contract,
and public TypeScript API compatibility checks. The experimental execution
contract and internal working models remain outside the freeze. - Made normalized scan diagnostics the canonical internal
ScanResult.diagnosticscollection behind the v2 serializer. Renamed the
producer-level collection to internalrawDiagnosticsand moved scan
normalization and review bundling from the version-named module to
scan-diagnosticswithout changing public output. - Replaced the three overlapping pre-1.0 scan JSON projections with the
renma.scan.v2contract. Active results now use one normalizeddiagnostics
array, suppressed results usesuppressedDiagnostics, and the wire-level
findings,suppressedFindings, anddiagnosticsV2fields were removed. - Made
diffandci-reportcollect each archived repository revision once.
CI now applies its fail-closed endpoint boundary while building the shared
target snapshot, then derives both semantic diff and CI policy output from
that snapshot instead of rediscovering the target revision. - Reduced prose-only safeguard-bypass, risky-failure-suppression,
instruction-hierarchy, and untrusted-content inference to explicit local
line or clause evidence and advisory severity. Structural POSIX shell,
PowerShell, and Windows batch analysis remains in place. - Documented the Renma 1.0 stabilization boundary, including retention of the
existingci-reportGitHub Actions workflow and the separation between
structural command evidence and incomplete natural-language review aids.
Upgrade
npm install
npm run build
npm testIf using the published package:
npm install -g renma@0.36.1Validation
Validated with:
npm test
npm run build
npm run verify:api
node dist/index.js scan . --fail-on high --strict
node dist/index.js catalog . --format markdown
node dist/index.js readiness . --format markdown
node dist/index.js graph . --focus skill.release-prep --format mermaid
node dist/index.js diff . --from v0.36.0 --to HEAD --format markdown
node dist/index.js ci-report . --from v0.36.0 --to HEAD --format markdownSummary
v0.36.1 includes 28 changelog entries across changed.