Skip to content

Professionalize and secure dissertation template - #1

Merged
humanbeans893 merged 2 commits into
mainfrom
agent/professionalize-public-thesis
Jul 16, 2026
Merged

Professionalize and secure dissertation template#1
humanbeans893 merged 2 commits into
mainfrom
agent/professionalize-public-thesis

Conversation

@humanbeans893

Copy link
Copy Markdown
Owner

Summary

  • replace the beginner-oriented root documentation with a concise technical reference
  • move the shared agent instructions to root-level AGENTS.md and CLAUDE.md
  • expand the LuaLaTeX manuscript into a dissertation-ready structure with bilingual abstracts, configurable front matter, submission mode, and a submission checklist
  • add manuscript and public-repository safety checks with test coverage
  • add least-privilege CI, Dependabot, dependency review, CODEOWNERS, contribution, security, and license files
  • add Zotero/Better BibTeX, Zotero MCP, and read-only external file integration guidance

Why

The repository is being prepared for public use as a reproducible dissertation research template. The previous documentation and manuscript skeleton did not cover doctoral submission requirements, publication hygiene, or safe external-file workflows.

Impact

  • contributors use pull requests and CI instead of direct changes to main
  • manuscript metadata is managed centrally in draft/thesis-config.tex
  • draft and final-submission builds are separated
  • raw data, credentials, Zotero databases, attachments, and oversized files are checked before publication
  • external synchronized folders are mounted read-only

Validation

  • UV_CACHE_DIR=.cache/uv uv run pytest — 39 passed
  • UV_CACHE_DIR=.cache/uv uv run ruff check .
  • UV_CACHE_DIR=.cache/uv uv run ruff format --check .
  • python3 tools/public_repo_check.py --history
  • make pdf pdf-final supplementary
  • python3 tools/thesis_check.py
  • generated A4 PDFs: dissertation 11 pages, submission 11 pages, supplementary 1 page

Submission note

The strict submission check intentionally fails while template metadata and manuscript TODOs remain. Authors must replace those values before an actual university submission.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 82da6cd699

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +51 to +53
if path.name in FORBIDDEN_NAMES and path.name not in ALLOWED_ENV_FILES:
return "application state or credentials must not be tracked"
if path.suffix.lower() in FORBIDDEN_SUFFIXES:

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 Reject sensitive filename variants

When a user has .env.local / .env.production or Zotero sidecar files such as zotero.sqlite.bak staged or force-added, this exact-name/suffix check does not flag them; if their contents don't match the narrow secret regexes, make security reports OK even though these are the same credential/application-state files the new public-repo policy is meant to block. Treat the forbidden names as patterns such as .env* except .env.example and zotero.sqlite*, or add equivalent checks here.

Useful? React with 👍 / 👎.

@humanbeans893
humanbeans893 merged commit 67fc81e into main Jul 16, 2026
3 checks passed
@humanbeans893
humanbeans893 deleted the agent/professionalize-public-thesis branch July 16, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant