Target repo
SourceOS-Linux/sourceos-shell
Context
sourceos-shell already exists and is the product/runtime repository for the SourceOS shell. The README states the first implementation slice is PDF-first:
services/docd — derive lane;
services/pdf-secure — sign / validate lane;
apps/pdf-viewer-demo — PDF viewer/demo surface;
content/ — draft / derived / reports layout;
- minimal workspace/bootstrap files.
This issue turns that declared boundary into an executable first scaffold.
Scope
Implement the smallest bounded runtime scaffold that does the following:
- Add or complete a minimal workspace/bootstrap layout for the repo.
- Add
services/docd with a minimal smokeable derive placeholder.
- Add
services/pdf-secure with a minimal smokeable sign/validate placeholder.
- Add
apps/pdf-viewer-demo with a minimal smokeable viewer/demo placeholder.
- Add
content/draft, content/derived, and content/reports directories, preserving placeholders where needed.
- Add a Makefile or equivalent repo-native command surface with at least:
- Add smoke validation proving each runtime slice can be invoked without external services.
- Update README/docs to link responsibilities back to:
SourceOS-Linux/sourceos-spec for contracts;
SociOS-Linux/source-os for Linux realization surfaces.
Acceptance criteria
make validate passes.
make smoke passes.
services/docd exists and has a smokeable command/script.
services/pdf-secure exists and has a smokeable command/script.
apps/pdf-viewer-demo exists and has a smokeable command/script.
content/draft, content/derived, and content/reports exist.
- README documents repo boundary and PDF-first runtime scope.
- PR body includes validation evidence.
Validation commands
Expected commands:
make validate
make smoke
find services -maxdepth 2 -type f | sort
find apps -maxdepth 2 -type f | sort
find content -maxdepth 2 -type d | sort
If repo-native commands differ, inspect and use repo-native commands.
Boundaries / non-goals
- Do not implement a full PDF engine in this issue.
- Do not add proprietary dependencies.
- Do not add secrets, tokens, credentials, private keys, or production endpoints.
- Do not modify
sourceos-spec or source-os from this PR.
- Do not claim production readiness.
- Keep placeholders explicit and smoke-tested.
PR requirements
Open one PR against main. Include:
- what changed;
- exact commands run;
- pass/fail output summary;
- known gaps;
- anything blocked.
Target repo
SourceOS-Linux/sourceos-shellContext
sourceos-shellalready exists and is the product/runtime repository for the SourceOS shell. The README states the first implementation slice is PDF-first:services/docd— derive lane;services/pdf-secure— sign / validate lane;apps/pdf-viewer-demo— PDF viewer/demo surface;content/— draft / derived / reports layout;This issue turns that declared boundary into an executable first scaffold.
Scope
Implement the smallest bounded runtime scaffold that does the following:
services/docdwith a minimal smokeable derive placeholder.services/pdf-securewith a minimal smokeable sign/validate placeholder.apps/pdf-viewer-demowith a minimal smokeable viewer/demo placeholder.content/draft,content/derived, andcontent/reportsdirectories, preserving placeholders where needed.make validatemake smokeSourceOS-Linux/sourceos-specfor contracts;SociOS-Linux/source-osfor Linux realization surfaces.Acceptance criteria
make validatepasses.make smokepasses.services/docdexists and has a smokeable command/script.services/pdf-secureexists and has a smokeable command/script.apps/pdf-viewer-demoexists and has a smokeable command/script.content/draft,content/derived, andcontent/reportsexist.Validation commands
Expected commands:
If repo-native commands differ, inspect and use repo-native commands.
Boundaries / non-goals
sourceos-specorsource-osfrom this PR.PR requirements
Open one PR against
main. Include: