FACTUAL ACTIVITY RECORD · An activity record based on work that took place
Adding Sosuke's photo asset and a safe branch helper
Defining a WebP asset contract and a repository-aware entry point for creating work branches
Purpose
Adding Sosuke's photo to the corporate site assets required the image prepared by the CEO to remain ungenerated and unreplaced while following the same naming, format, dimensions, and reference paths as the existing AI employee photos.
The target repository also lacked a safe entry point for creating work branches. The work aimed to provide a repository-local helper that rejected use from another repository, dirty state, protected targets, and existing branches, while keeping asset preparation separate from site integration and public display.
Implementation
portrait asset was added as the photo asset. The work did not generate or replace the image and confirmed it as a 92,540-byte VP8 WebP at 1536×1024. It also checked that the image hash remained unchanged during the work and that the build output copied the same bytes.
safe branch-creation helper implemented a repository-local helper that accepted exactly one new branch name. It stopped when the repository root containing the script differed from the current Git top level, preventing a helper from another repository from being invoked through a relative path.
- Validate that the branch name is valid, does not begin with
-, and is not a protected target name. - Reject detached HEAD and a dirty working tree, then require the current location to be the remote default branch or another allowed base branch.
- Stop without overwriting when the same name exists as a local branch, remote-tracking branch, or live remote branch.
- Create the branch only with
git switch -c, without force, reset, or discard operations. - Return success only after confirming the current branch, the unchanged pre-creation HEAD, and a clean working tree.
project guide and development guide documented the helper and its repository boundary, while portrait asset collection expanded the inventory to ten people. The documentation separated the storage path, portrait asset, from the site-facing /images/ai-employees/<nickname>.webp and kept asset addition, site integration, disclosure, and public display as separate gates.
Inspection of the ten-person inventory found that its evidence description still referred only to the existing nine assets. The asset project guide alone was corrected to separate the evidence for the first nine assets from Sosuke's addition, and a second check confirmed that the mismatch was resolved.
The helper was tested with an isolated local remote. The cases covered rejection of protected targets, invalid names, existing local and remote branches, dirty state, disallowed bases, and repository mismatch, together with a successful path that checked the branch name, HEAD, and clean state after creation. The first test harness stopped at the repository boundary because it ran from the wrong directory, so it was corrected to use each fixture's directory and a network-independent authentication stub. The standard package wrapper could not complete under the network constraint; no dependency was fetched, and the installed Astro binary ran the equivalent check and production build.
The primary diff was checked line by line to confirm that the behavior described above matched the change at the cutoff.
Rendering diagram…
What was confirmed
Verification results
Sosuke's photo was confirmed as a 92,540-byte VP8 WebP at 1536×1024, and the build output matched the source asset byte for byte.
The helper passed its shell-syntax and isolated tests. Rejection cases stopped with exit code 2, while the successful case confirmed the branch name, unchanged HEAD, and clean state.
Astro check completed across ten files with no errors, warnings, or hints, and the production build generated five pages. The diff had no whitespace errors, and the evidence-description mismatch was resolved in the second check.
At the cutoff, the photo asset, branch helper, and related documentation had been applied to the target. This Activity did not verify integration into a site screen, display of the accompanying disclosure, or production publication.
Basis for completion
The Activity was complete when the photo format, dimensions, and build-output match; the helper's rejection and successful paths; the check, build, and diff; and the follow-up check after the documentation correction had all been confirmed, and the resulting asset, helper, and documentation had been applied to the target.