Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ docs/dev/reports/playwright_v8_coverage_report.txt
*.mp4
*.mkv

.env
.env.*
# Environment files
.env*

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep .envrc files from being ignored

With this broader pattern, any dotfile beginning with .env is ignored; I checked git check-ignore --no-index .envrc and it reports .gitignore:52:.env*, so a developer adding a direnv .envrc or another non-dotenv config with that prefix would not see or commit it unless forced. The previous rules only covered .env and .env.*, so either keep the dot-delimited pattern or explicitly unignore .envrc if it should remain trackable.

Useful? React with 👍 / 👎.

!.env.example
!.env.sample
!.env.template
Expand Down
42 changes: 42 additions & 0 deletions dev/reports/PR_26179_OWNER_012-gitignore-env-simplification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# PR_26179_OWNER_012-gitignore-env-simplification

Updated: 2026-06-28T03:47:16Z
Team: Owner
Branch: PR_26179_OWNER_012-gitignore-env-simplification
Scope: .gitignore only plus required reports and outcome ZIP. No runtime code or production pages changed.

## Summary
- Replaced the two-line environment ignore rule with a single `.env*` rule.
- Preserved exceptions for `.env.example`, `.env.sample`, and `.env.template`.

## Changed Files
```text
M .gitignore
M dev/reports/codex_changed_files.txt
M dev/reports/codex_review.diff
A dev/reports/PR_26179_OWNER_012-gitignore-env-simplification.md
A dev/reports/PR_26179_OWNER_012-gitignore-env-simplification_requirement-checklist.md
A dev/reports/PR_26179_OWNER_012-gitignore-env-simplification_validation-report.md
```

## Validation Matrix
| Path | Result | Status |
| --- | --- | --- |
| .env | ignored | PASS |
| .env.dev | ignored | PASS |
| .env.ist | ignored | PASS |
| .env.uat | ignored | PASS |
| .env.prd | ignored | PASS |
| .env.local | ignored | PASS |
| .env.example | tracked and not ignored | PASS |
| .env.sample | not ignored by exception; file not present/tracked in repo | PASS_WITH_SCOPE_NOTE |
| .env.template | not ignored by exception; file not present/tracked in repo | PASS_WITH_SCOPE_NOTE |

Scope note: `.env.sample` and `.env.template` are not currently tracked files in this repository, so the validation confirms the requested exception behavior without adding files outside the .gitignore-only scope.

## Validation
- `git diff --check`: PASS.
- Environment ignore matrix: PASS with scope note for absent sample/template files.

## Blockers
None.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# PR_26179_OWNER_012-gitignore-env-simplification Requirement Checklist

Updated: 2026-06-28T03:47:16Z

- [x] Current branch started from main.
- [x] Worktree was clean before changes.
- [x] Updated `.gitignore` only for the requested source change.
- [x] Replaced `.env` and `.env.*` with `.env*`.
- [x] Added `# Environment files` comment.
- [x] Preserved `!.env.example`.
- [x] Preserved `!.env.sample`.
- [x] Preserved `!.env.template`.
- [x] `.env` ignored.
- [x] `.env.dev` ignored.
- [x] `.env.ist` ignored.
- [x] `.env.uat` ignored.
- [x] `.env.prd` ignored.
- [x] `.env.local` ignored.
- [x] `.env.example` tracked and not ignored.
- [x] `.env.sample` exception active; file is absent/not tracked in repo.
- [x] `.env.template` exception active; file is absent/not tracked in repo.
- [x] `git diff --check` passed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# PR_26179_OWNER_012-gitignore-env-simplification Validation Report

Updated: 2026-06-28T03:47:16Z

## Commands
- `git diff --check`: PASS
- `git check-ignore` env matrix: PASS
- `git ls-files --error-unmatch .env.example`: PASS

## Env Matrix
| Path | Result | Status |
| --- | --- | --- |
| .env | ignored | PASS |
| .env.dev | ignored | PASS |
| .env.ist | ignored | PASS |
| .env.uat | ignored | PASS |
| .env.prd | ignored | PASS |
| .env.local | ignored | PASS |
| .env.example | tracked and not ignored | PASS |
| .env.sample | not ignored by exception; file not present/tracked in repo | PASS_WITH_SCOPE_NOTE |
| .env.template | not ignored by exception; file not present/tracked in repo | PASS_WITH_SCOPE_NOTE |

## Scope Checks
- Runtime code changed: NO
- Production pages changed: NO
- Source change limited to `.gitignore`: YES

## Notes
- `.env.sample` and `.env.template` are unignored by the exception rules, but they are not currently tracked files. They were not added because the PR scope allows source changes to `.gitignore` only.

## Blockers
None.
19 changes: 5 additions & 14 deletions dev/reports/codex_changed_files.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,6 @@
PR_26179_OWNER_010-canonical-project-folder-instructions
Updated: 2026-06-28T02:50:06Z
Branch: PR_26179_OWNER_010-canonical-project-folder-instructions
PR_26179_OWNER_012-gitignore-env-simplification
Updated: 2026-06-28T03:47:16Z
Branch: PR_26179_OWNER_012-gitignore-env-simplification

Changed files staged for this update:
M dev/build/ProjectInstructions/addendums/pr_workflow.md
M dev/build/ProjectInstructions/addendums/team_backlog_sod_eod_standard.md
M dev/build/ProjectInstructions/bootstrap/codex_start_of_day_bootstrap.md
M dev/build/ProjectInstructions/standards/CODEX_WORKFLOW_COMMANDS.md

Working tree status at report generation:
M dev/build/ProjectInstructions/addendums/pr_workflow.md
M dev/build/ProjectInstructions/addendums/team_backlog_sod_eod_standard.md
M dev/build/ProjectInstructions/bootstrap/codex_start_of_day_bootstrap.md
M dev/build/ProjectInstructions/standards/CODEX_WORKFLOW_COMMANDS.md
Changed files:
M .gitignore
106 changes: 15 additions & 91 deletions dev/reports/codex_review.diff
Original file line number Diff line number Diff line change
@@ -1,91 +1,15 @@
diff --git a/dev/build/ProjectInstructions/addendums/pr_workflow.md b/dev/build/ProjectInstructions/addendums/pr_workflow.md
index ce6483838..6fadd0789 100644
--- a/dev/build/ProjectInstructions/addendums/pr_workflow.md
+++ b/dev/build/ProjectInstructions/addendums/pr_workflow.md
@@ -41,7 +41,8 @@ This file owns PR lifecycle governance. It must not duplicate command phase rule
Team-neutral daily workflow:

- SOD starts from the latest synchronized `main`.
-- SOD creates or updates one active team branch/workstream.
+- SOD reports the active team branch/workstream recommendation only.
+- Branch creation or branch updates happen after SOD through the appropriate PR execution phase.
- Work must be committed only to the active team branch.
- PR branches/commits stay on the active team branch/workstream during the day when OWNER assigned a stacked or sequential workstream.
- Do not return to `main` between stacked/sequential PRs in the same active workstream.
diff --git a/dev/build/ProjectInstructions/addendums/team_backlog_sod_eod_standard.md b/dev/build/ProjectInstructions/addendums/team_backlog_sod_eod_standard.md
index e191f9d7f..1e6a04a87 100644
--- a/dev/build/ProjectInstructions/addendums/team_backlog_sod_eod_standard.md
+++ b/dev/build/ProjectInstructions/addendums/team_backlog_sod_eod_standard.md
@@ -88,7 +88,8 @@ At EOD, ChatGPT/Codex must provide:
This standard preserves the existing branch workflow:

- SOD starts from latest `main`.
-- SOD creates or uses the active team branch.
+- SOD reports the recommended active team branch/workstream only.
+- Branch creation or use happens after SOD through the appropriate PR execution phase.
- All commits go to the active team branch, not `main`.
- Sequential PRs stay on the active team branch/workstream during the day.
- EOD merges OWNER-approved work, pushes, returns to `main`, and verifies clean worktree and local/origin sync `0 0`.
diff --git a/dev/build/ProjectInstructions/bootstrap/codex_start_of_day_bootstrap.md b/dev/build/ProjectInstructions/bootstrap/codex_start_of_day_bootstrap.md
index 280abef00..f2eb2787d 100644
--- a/dev/build/ProjectInstructions/bootstrap/codex_start_of_day_bootstrap.md
+++ b/dev/build/ProjectInstructions/bootstrap/codex_start_of_day_bootstrap.md
@@ -33,7 +33,24 @@ The bootstrap loads:
- Current branch
- Worktree status

-The bootstrap must not create branches, commit files, move files, or run implementation work by itself.
+The bootstrap requires the current branch to be `main`, the worktree to be clean, and local `main` to be synced with `origin/main`.
+
+Allowed bootstrap sync actions:
+
+```text
+git fetch origin
+git pull --ff-only origin main
+```
+
+If the current branch is not `main`, the bootstrap must HARD STOP and return:
+
+```text
+git switch main
+git pull --ff-only origin main
+Start of Day {Team}
+```
+
+The bootstrap must not create branches, switch branches, commit files, move files, or run implementation work by itself.

Start-of-Day bootstrap must satisfy the Codex Completion Contract in `dev/build/ProjectInstructions/addendums/codex_artifact_and_reporting_standard.md` with a review-only ZIP unless a hard stop occurs.

diff --git a/dev/build/ProjectInstructions/standards/CODEX_WORKFLOW_COMMANDS.md b/dev/build/ProjectInstructions/standards/CODEX_WORKFLOW_COMMANDS.md
index 25a403486..c0066966e 100644
--- a/dev/build/ProjectInstructions/standards/CODEX_WORKFLOW_COMMANDS.md
+++ b/dev/build/ProjectInstructions/standards/CODEX_WORKFLOW_COMMANDS.md
@@ -25,9 +25,26 @@ Start of Day Golf

Commands using non-canonical team names are invalid because active team names are Owner, Alfa, Bravo, Charlie, Delta, and Golf.

-Start of Day is read-only discovery only.
+Start of Day is read-only discovery plus baseline sync only.

-Start of Day must not require the current branch to be `main`.
+Start of Day requires:
+- current branch is `main`
+- worktree is clean
+- `git fetch origin`
+- `git pull --ff-only origin main`
+- local `main` and `origin/main` are synced
+
+Allowed Start of Day git sync actions:
+- `git fetch origin`
+- `git pull --ff-only origin main`
+
+If the current branch is not `main`, Start of Day must HARD STOP and return these correction steps:
+
+```text
+git switch main
+git pull --ff-only origin main
+Start of Day {Team}
+```

Start of Day must not:
- create a branch
diff --git a/.gitignore b/.gitignore
index 3ac762a04..1207a12fc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,8 +48,8 @@ docs/dev/reports/playwright_v8_coverage_report.txt
*.mp4
*.mkv

-.env
-.env.*
+# Environment files
+.env*
!.env.example
!.env.sample
!.env.template
Loading