Skip to content

Clarify Institute messaging, simplify navigation, and surface glossary/research wayfinding#397

Closed
zz-plant wants to merge 1 commit into
mainfrom
codex/implement-immediate-edits-for-ethotechnics.org
Closed

Clarify Institute messaging, simplify navigation, and surface glossary/research wayfinding#397
zz-plant wants to merge 1 commit into
mainfrom
codex/implement-immediate-edits-for-ethotechnics.org

Conversation

@zz-plant

Copy link
Copy Markdown
Owner

Motivation

  • Make ethotechnics.org clearly distinct from the Studio by surfacing that the Institute provides open research, frameworks, and free practitioner resources while routing implementation inquiries to ethotechnics.com.
  • Reduce visitor friction by simplifying navigation and turning the existing “Start here” content into a concise decision tree that directs practitioners, researchers, and commercial leads to the right resources.
  • Reduce maintenance burden by adding glossary priority tiers and a freeze notice, and by surfacing research types and citation guidance so readers can find and cite stable artifacts easily.

Description

  • Updated homepage hero copy and CTAs to state the Institute purpose, point visitors to Ethotechnics Studio for paid implementation, and emphasize free resources for practitioners, researchers, and organizers (src/pages/index.astro).
  • Simplified main navigation and action links into four high-level sections (Frameworks, Patterns, Research, About) and adjusted the nav actions (src/content/navigation.ts).
  • Reworked the Start Here decision tree and Start Here JSON to route visitors by role (practitioner, researcher, Studio inquiry, subscribe) and adjusted the Start Here page rendering to surface the new flow (src/content/start-here.json, src/pages/start-here/index.astro).
  • Clarified Institute content by adding explicit boundaries (what the Institute does and doesn’t do), a release stewardship section, and a Studio handoff panel (src/content/institute.ts, src/pages/institute/index.astro).
  • Added glossary priority tiers and a freeze notice, and surfaced those tiers in the glossary landing page to help newcomers prioritize terms (src/content/glossary.json, src/content/glossary.ts, src/pages/glossary/index.astro).
  • Added research types and a citation guide to the Research content and page so readers can find case studies, working papers, field notes, and published work and know how to cite them (src/content/research.ts, src/pages/research/index.astro).
  • Updated footer copy and contact links to make attribution and research contact pathways explicit (src/content/site-footer.ts).
  • Updated content schema to accept the new glossary fields (src/content.config.ts).

Testing

  • Ran the repository checks with bun run check, which completed successfully but produced existing Astro inline script hints and a deprecated tseslint signature warning.
  • Unit tests executed via bun test passed (14 pass, 3 skip, 0 fail) and TypeScript typecheck (bun run typecheck) completed without errors.
  • JSON and glossary validations passed with bun run validate:json and bun run validate:glossary.
  • Started the dev server (bun run dev) and captured a homepage screenshot to verify visual changes locally.

Codex Task

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jan 14, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
et3 12f2524 Commit Preview URL

Branch Preview URL
Jan 14 2026, 05:40 AM

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @zz-plant, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refines the user experience and content architecture of the Ethotechnics Institute website. The primary goal is to clearly differentiate the Institute's open research and free resources from the Studio's paid implementation services. This is achieved through updated messaging, simplified navigation, and a new decision-tree-based 'Start Here' guide. Additionally, the PR enhances content discoverability and maintainability by introducing glossary priority tiers, a content freeze notice, and comprehensive research citation guidance.

Highlights

  • Institute Messaging Clarification: The website now clearly distinguishes the Ethotechnics Institute's role (open research, free resources) from the Ethotechnics Studio's (paid implementation services), with updated homepage copy and calls to action.
  • Simplified Navigation: The main navigation has been streamlined into four high-level sections (Frameworks, Patterns, Research, About) and action links have been adjusted for a more intuitive user experience.
  • Reworked 'Start Here' Decision Tree: The 'Start Here' page has been transformed into a decision tree that guides visitors by their role (practitioner, researcher, Studio inquiry, subscriber) to the most relevant resources.
  • Enhanced Glossary Wayfinding: The glossary now includes priority tiers (Core, Applied, Emerging concepts) and a freeze notice, helping users prioritize terms and understand content stability.
  • Improved Research Discoverability & Citation: New research types (Case studies, Working papers, Field notes, Published work) and a comprehensive citation guide have been added to the Research section, facilitating proper attribution and content discovery.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This is a comprehensive update that significantly improves the clarity and navigation of the site. The changes to the homepage, navigation, and "Start Here" page successfully align with the goal of distinguishing the Institute from the Studio and guiding users more effectively. The additions to the glossary and research pages, such as priority tiers and citation guidance, are also valuable enhancements for users.

The code changes are well-implemented and consistent with the Astro framework.

I have one major piece of feedback regarding maintainability in src/content/glossary.ts, where content is being manually duplicated from src/content/glossary.json. Addressing this will prevent future inconsistencies and simplify content updates. Please see my detailed comment on that file.

Overall, this is a fantastic set of improvements. Great work!

Comment thread src/content/glossary.ts
Comment on lines +153 to +200
priorityTiers: [
{
id: "core",
title: "Core concepts",
description:
"Essential terms for understanding Ethotechnics theory and practice.",
termIds: [
"ethotechnics",
"moral-behavior",
"ethical-load-path",
"consent-journey",
"contestability",
"stoppability",
"repair-log",
"burden-index",
],
},
{
id: "applied",
title: "Applied concepts",
description:
"Terms practitioners use when designing or auditing care-centered systems.",
termIds: [
"permission-surface",
"safety-valve",
"stewardship-window",
"appeal-passage-rate",
"maintenance-window",
"signal-credibility",
"fair-burden-distribution",
"time-to-halt",
],
},
{
id: "emerging",
title: "Emerging concepts",
description:
"Exploratory areas that are evolving with ongoing research.",
termIds: [
"moral-drift-control",
"care-redundancy",
"burden-elasticity",
"adaptive-refusal-pathways",
"ambiguity-budgets",
"ethical-load-testing",
],
},
],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

This pull request introduces priorityTiers and a freezeNotice, which is a great addition for guiding users through the glossary.

However, I've noticed that this file, src/content/glossary.ts, manually duplicates a significant amount of content from src/content/glossary.json. For example, the priorityTiers and freezeNotice you're adding here are also present in glossary.json. This pattern of duplication exists throughout the file, such as with the glossaryTerms array, which appears to be a manual, flattened copy of all entries from the JSON file.

This data duplication creates a significant maintainability burden and risk of inconsistency. Any update to glossary.json requires a parallel manual update here, which is error-prone.

Recommendation:
I strongly recommend refactoring this to have a single source of truth. Instead of manually maintaining this data, we should derive glossaryContent, glossaryTerms, and other exports from the glossary content collection at build time. Astro's content collections are designed for this. You could, for example, create a utility function that fetches and transforms the glossary entry from the collection into the structures needed by the rest of the application.

This would eliminate the duplication, reduce the chance of data getting out of sync, and make the codebase much easier to maintain.

@zz-plant zz-plant closed this Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant