- Create Composer metadata, PHPUnit, PHPStan, PHP-CS-Fixer, Git ignore, and source/test autoloading.
- Implement exception marker/base and focused exception subclasses.
- Implement
Environment,Configuration, andWorkflowvalidation and environment overrides. - Implement internal system clock, private-key loader, base64url encoding, and JWT generator.
- Implement
InstallationTokenand internal PSR GitHub API request/response handling. - Implement
GitHubAppClientorchestration and sanitized logging. - Add deterministic configuration, key, JWT, token, dispatch, transport, malformed response, and secret-sanitization tests.
- Add README, changelog, contributing, security, and license-status documentation.
- Install dependencies and run Composer validation, PHPUnit, PHPStan, style checks, production-only install verification, secret scan, and original-repository integrity checks.
- Create logical Conventional Commits and leave the repository untagged because licensing is unresolved.
- Environment/configuration: all three sources, precedence, explicit overrides, missing and invalid values.
- Private keys/JWT: PEM, escaped newline, base64, path, missing path, invalid key, header, claims, timestamps, signature.
- Installation token: method, endpoint, headers, success parsing, expiration, non-success, malformed JSON, missing fields, transport exception.
- Workflow: environment/programmatic creation, method, encoded endpoint, headers, payload/ref/inputs, 204 success, other status, transport exception.
- Safety: previous throwable retention and absence of private keys/JWTs/tokens/authorization values in exceptions and logs.
The README will contain installation, transport setup, programmatic/environment usage, all public operations, framework notes, errors, security, development, stability, and licensing. Supporting files cover changes, contributions, vulnerability reporting, and the six required design/analysis phases.
- Architecture and extraction documents.
- Package and quality-tool scaffold.
- Configuration, private-key, and JWT implementation.
- Installation token and workflow dispatch implementation.
- Deterministic tests and any quality fixes.
- User and maintainer documentation.
composer validate --strict
composer install --no-interaction
composer test
composer analyse
composer check-style
composer install --no-dev --no-interaction
composer install --no-interaction
git grep -nEI '(BEGIN (RSA )?PRIVATE KEY|gh[opsu]_[A-Za-z0-9_]{20,}|github_pat_)'
git status --shortThe original application will be checked with git status --short and git diff --exit-code before and after extraction.