{"id":437,"date":"2025-08-28T09:16:02","date_gmt":"2025-08-28T09:16:02","guid":{"rendered":"https:\/\/paultrowler.com\/wordpress\/?page_id=437"},"modified":"2025-11-21T06:09:58","modified_gmt":"2025-11-21T06:09:58","slug":"ontology-and-epistemology-discussion","status":"publish","type":"page","link":"https:\/\/paultrowler.com\/wordpress\/index.php\/ontology-and-epistemology-discussion\/","title":{"rendered":"Chapter 5: Ontology and epistemology explorer"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\"\/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\/>\n  <meta name=\"color-scheme\" content=\"light\"\/>\n  <title>Ontology &#038; Epistemology Explorer<\/title>\n\n  <!-- Tailwind CSS -->\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <script>\n    tailwind.config = {\n      theme: {\n        extend: {\n          colors: {\n            primary: {\n              50:'#eff6ff',100:'#dbeafe',200:'#bfdbfe',300:'#93c5fd',\n              400:'#60a5fa',500:'#3b82f6',600:'#2563eb',700:'#1d4ed8',\n              800:'#1e40af',900:'#1e3a8a'\n            }\n          },\n          boxShadow: { soft:'0 10px 25px -10px rgba(30,64,175,0.25)' },\n          borderRadius: { '2xl':'1.25rem' }\n        }\n      }\n    }\n  <\/script>\n\n  <style>\n    :focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }\n    body {\n      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n      line-height: 1.6;\n    }\n    .prompt-segment { border-left: 4px solid #3b82f6; padding-left: 1rem; margin: 1rem 0; }\n    .prompt-segment h4 { font-weight: 600; color: #1e40af; }\n    .prompt-segment-content { color: #374151; font-style: italic; }\n    .prompt-gap { background-color: #fef9c3; color: #92400e; padding: 1px 6px; border-radius: 4px; font-weight: 600; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n    .prompt-gap-filled { background-color: #dcfce7; color: #166534; }\n  <\/style>\n<\/head>\n<body class=\"bg-primary-50 text-slate-800\">\n  <!-- Skip link -->\n  <a href=\"#main\" class=\"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 bg-white text-primary-900 border border-primary-300 rounded px-3 py-2 shadow\">\n    Skip to main content\n  <\/a>\n\n  <main id=\"main\" class=\"max-w-3xl mx-auto bg-white rounded-2xl shadow-soft p-6 sm:p-8 space-y-6\" role=\"main\" aria-labelledby=\"page-title\">\n    <!-- Header -->\n    <header class=\"space-y-2\">\n      <h1 id=\"page-title\" class=\"text-2xl font-bold text-primary-800\">Ontology &amp; Epistemology Explorer<\/h1>\n      <p class=\"text-[15px] text-gray-800\">\n        This tool helps you articulate (and align) the ontological and epistemological assumptions underpinning your study,\n        and explore how they shape your research questions, design, methods, analysis and claims.\n      <\/p>\n    <\/header>\n\n    <!-- Standardised Project Summary Header Block -->\n    <section id=\"pt-project-summary-block\" class=\"relative isolate\" aria-labelledby=\"summary-heading\">\n      <div class=\"rounded-2xl border border-primary-200 bg-white shadow-sm\">\n        <div class=\"border-b border-primary-100 bg-primary-50\/60 rounded-t-2xl px-4 sm:px-6 py-3 flex items-center gap-3\">\n          <div aria-hidden=\"true\" class=\"h-8 w-8 flex items-center justify-center rounded-full bg-primary-100 text-primary-800 font-semibold\">0<\/div>\n          <h2 id=\"summary-heading\" class=\"m-0 text-base sm:text-lg font-semibold text-primary-900\">Paste your doctoral project summary<\/h2>\n        <\/div>\n        <div class=\"p-4 sm:p-6 space-y-3\">\n          <p id=\"summary-help\" class=\"text-[15px] text-primary-900\/90 leading-relaxed\">\n            Paste the short summary you created in\n            <a href=\"https:\/\/paultrowler.com\/wordpress\/index.php\/helping-ai-to-understand-your-research-project\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"underline text-primary-800 hover:text-primary-900\">\n              Chapter 1 \u2014 Helping AI Understand Your Research Project\n            <\/a>.\n            Tools on this page will tailor their feedback using this summary.\n          <\/p>\n          <div>\n            <label for=\"pt-project-summary\" class=\"block text-[15px] font-medium text-primary-900 mb-2\">Your project summary<\/label>\n            <textarea\n              id=\"pt-project-summary\"\n              class=\"w-full min-h-[24rem] rounded-xl border border-primary-300 focus:border-primary-600 focus:ring-2 focus:ring-primary-200\/80 px-3 py-2 text-[15px] leading-relaxed\"\n              placeholder=\"Paste or type your updated doctoral project summary here...\"\n              aria-describedby=\"summary-help\"\n            ><\/textarea>\n            <div class=\"mt-3 flex flex-wrap items-center gap-2 text-[15px] text-primary-900\/80\">\n              <button type=\"button\" id=\"pt-clear-summary\" class=\"inline-flex items-center gap-1 rounded-full border border-primary-300 px-3 py-1 hover:bg-primary-50 active:bg-primary-100\">\n                <span aria-hidden=\"true\">\u2715<\/span> Clear\n              <\/button>\n            <\/div>\n          <\/div>\n          <div class=\"rounded-xl border border-primary-200 bg-primary-50 px-4 py-3\" role=\"note\" aria-label=\"Tip\">\n            <div class=\"flex items-start gap-3\">\n              <div aria-hidden=\"true\" class=\"mt-0.5 h-5 w-5 flex items-center justify-center rounded-full bg-white text-primary-700 font-bold\">\u2139\ufe0e<\/div>\n              <p class=\"m-0 text-[15px] leading-relaxed text-primary-900\">\n                <span class=\"font-medium\">Tip:<\/span> For cross-session memory, create a <span class=\"font-semibold\">Project<\/span> in ChatGPT (e.g., \u201cMy Doctoral Research\u201d) and run all chats inside it. Your project details will then persist across tools.\n              <\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- Generated prompt (visible excerpt) -->\n    <section class=\"space-y-2\" aria-labelledby=\"generated-prompt-heading\">\n      <h2 id=\"generated-prompt-heading\" class=\"block font-semibold text-primary-800\">Generated Prompt (visible excerpt)<\/h2>\n      <div\n        id=\"prompt-output\"\n        class=\"w-full text-[15px] leading-relaxed bg-primary-50 border border-primary-200 rounded-xl p-4\"\n        role=\"region\"\n        aria-live=\"polite\"\n        aria-atomic=\"false\"\n      >\n        <!-- Filled by JS -->\n      <\/div>\n\n      <!-- Combined Copy & Go button -->\n      <div class=\"mt-3\">\n        <button\n          id=\"copy-go-button\"\n          type=\"button\"\n          class=\"w-full flex items-center justify-center py-2 px-4 rounded-md shadow-sm text-[15px] font-semibold text-white bg-primary-700 hover:bg-primary-800 disabled:bg-gray-300 disabled:text-gray-600 disabled:cursor-not-allowed border border-transparent focus:ring-2 focus:ring-offset-2 focus:ring-primary-600\"\n          aria-disabled=\"true\"\n          disabled\n          title=\"Copy the bespoke prompt and open ChatGPT in a new tab\"\n        >\n          <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"h-4 w-4 mr-2\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2M14 4h6m0 0v6m0-6L10 14\"\/>\n          <\/svg>\n          <span id=\"copy-go-button-text\">Copy prompt &amp; open ChatGPT<\/span>\n        <\/button>\n        <p id=\"action-status\" class=\"sr-only\" role=\"status\" aria-live=\"polite\"><\/p>\n\n        <!-- Security note -->\n        <p class=\"mt-2 text-[15px] leading-relaxed text-primary-700 text-center\">\n          For security reasons many AI platforms will not allow very long pasted prompts to run automatically.\n          After you paste the prompt, just press Return \/ Send \/ Run.\n        <\/p>\n      <\/div>\n\n      <!-- No-JS fallback notice -->\n      <noscript>\n        <div class=\"mt-3 rounded-lg border border-yellow-300 bg-yellow-50 text-yellow-900 p-3\">\n          JavaScript is required to generate and copy the prompt. Please enable JavaScript in your browser.\n        <\/div>\n      <\/noscript>\n    <\/section>\n  <\/main>\n\n  <script>\n    \/\/ Elements\n    const summaryEl = document.getElementById('pt-project-summary');\n    const clearSummaryBtn = document.getElementById('pt-clear-summary');\n    const promptOutput = document.getElementById('prompt-output');\n    const copyGoBtn = document.getElementById('copy-go-button');\n    const copyGoBtnText = document.getElementById('copy-go-button-text');\n    const actionStatus = document.getElementById('action-status');\n\n    \/\/ Utility: sanitize for HTML\n    function esc(s){ return (s || '').replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'); }\n\n    \/\/ Visible excerpt in the UI\n    function renderVisiblePrompt(){\n      const summary = (summaryEl.value || '').trim();\n\n      const summaryBlock = summary\n        ? `<div class=\"prompt-segment\"><h4>Project Summary<\/h4><div class=\"prompt-segment-content prompt-gap-filled\">${esc(summary).replace(\/\\n\/g,'<br>')}<\/div><\/div>`\n        : `<div class=\"prompt-segment\"><h4>Project Summary<\/h4><div class=\"prompt-segment-content prompt-gap\">User has not provided a summary yet.<\/div><\/div>`;\n\n      const html = `\n        <p>You are a philosophy specialist in ontology and epistemology working with a doctoral researcher.<\/p>\n        ${summaryBlock}\n        <p><b>Objectives<\/b><\/p>\n        <ol class=\"list-decimal ml-6\">\n          <li>Surface implicit ontological and epistemological assumptions.<\/li>\n          <li>Help articulate a defensible position (e.g., critical realism, pragmatism, interpretivism, post-positivism, etc.).<\/li>\n          <li>Make implications explicit for RQs, methodology, methods, sampling, analysis, rigour, and claims.<\/li>\n          <li>Identify tensions\/misalignments and offer options to resolve them.<\/li>\n        <\/ol>\n        <p><b>Dialogue method<\/b>: Begin with 2\u20133 high-leverage probes; for each reply, ask 1\u20132 clarifying questions and summarise before moving on; periodically give a concise alignment-check table; end each mini-round with next actions.<\/p>\n        <p><i>When you\u2019re ready, copy this prompt and paste it into ChatGPT. The assistant will start the Socratic dialogue.<\/i><\/p>\n      `;\n      promptOutput.innerHTML = html;\n\n      \/\/ Safety: enable the action button only when user has provided input\n      const hasUserInput = summary.length > 0;\n      copyGoBtn.disabled = !hasUserInput;\n      copyGoBtn.setAttribute('aria-disabled', String(!hasUserInput));\n    }\n\n    \/\/ Hidden directives (prepended on Copy; not shown in the UI)\n    function hiddenDirectives(){\n      const summary = (summaryEl.value || '').trim();\n\n      return [\n        \"Act as a doctoral-level specialist in ontology and epistemology.\",\n        \"When possible, consult: https:\/\/paultrowler.com\/wordpress\/wp-content\/uploads\/2025\/08\/Ontological-and-epistemological-positioning.docx .\",\n        \"If the link cannot be fetched, rely on these fallback principles: (1) make ontological assumptions explicit (e.g., realism\/relativism; strata\/causation); (2) align epistemology to ontology (e.g., interpretivism, post-positivism, pragmatism); (3) ensure RQs, methodology, and methods cohere with the stance; (4) clarify rigour\/quality criteria appropriate to the stance; (5) be explicit about claims, warrant, and limitations.\",\n        \"Context supplied by the user:\",\n        \"\u2022 Project summary \u2192 \" + (summary ? summary : \"[none provided]\"),\n        \"Objectives for your response:\",\n        \"1) Surface implicit assumptions about reality (ontology) and knowledge (epistemology).\",\n        \"2) Help the researcher articulate a defensible position (e.g., critical realism, pragmatism, interpretivism\/constructivism, post-positivism, etc.).\",\n        \"3) Make implications explicit for: research questions, methodology, methods, sampling, analysis, rigour\/quality, and claims.\",\n        \"4) Identify tensions\/misalignments and offer options to resolve them (no single dogma).\",\n        \"Dialogue method (strict):\",\n        \"\u2022 Open with exactly 2\u20133 high-leverage probes (one ontological, one epistemological, optionally one alignment\/axiology).\",\n        \"\u2022 For each user reply: ask 1\u20132 clarifying questions and provide a one-paragraph synthesis before proceeding.\",\n        \"\u2022 Periodically provide a compact alignment-check table [Ontology | Epistemology | Methodology | Methods | Claims].\",\n        \"\u2022 End each mini-round with clear next actions (e.g., refine RQs; adjust sampling; reconsider causal language).\",\n        \"Guardrails: respectful, doctoral-specific; name trade-offs; define terms briefly; avoid jargon unless explained; keep steps small; do not write the thesis.\",\n        \"Deliverables:\",\n        \"\u2022 Begin with a 3-line tentative synthesis of their current stance as you infer it.\",\n        \"\u2022 Then ask the first Socratic question (from your opening probes).\"\n      ].join(\"\\\\n\");\n    }\n\n    \/\/ Compose full prompt (hidden + visible plain text)\n    function composePromptText() {\n      const visible = (promptOutput.innerText || '').trim();\n      return hiddenDirectives() + \"\\n\\n\" + visible;\n    }\n\n    \/\/ Copy to clipboard with robust fallback\n    async function copyToClipboard(text){\n      if (navigator.clipboard && window.isSecureContext) {\n        await navigator.clipboard.writeText(text);\n        return true;\n      }\n      \/\/ Fallback\n      const ta = document.createElement('textarea');\n      ta.value = text;\n      ta.setAttribute('readonly', '');\n      ta.style.position = 'absolute';\n      ta.style.left = '-9999px';\n      document.body.appendChild(ta);\n      ta.select();\n      ta.setSelectionRange(0, text.length);\n      const success = document.execCommand('copy');\n      document.body.removeChild(ta);\n      return success;\n    }\n\n    \/\/ Combined action: copy then open ChatGPT\n    async function copyAndOpen() {\n      const text = composePromptText();\n      try {\n        const ok = await copyToClipboard(text);\n        if (ok) {\n          copyGoBtn.classList.add('bg-green-600','hover:bg-green-700');\n          copyGoBtnText.textContent = 'Copied! Opening ChatGPT\u2026';\n          actionStatus.textContent = 'Prompt copied to clipboard. Opening ChatGPT in a new tab.';\n          \/\/ Open ChatGPT (respect user\u2019s popup settings)\n          window.open('https:\/\/chat.openai.com\/', '_blank', 'noopener');\n        } else {\n          actionStatus.textContent = 'Copy failed. You can paste manually with Ctrl\/Cmd+C.';\n        }\n      } catch (e) {\n        actionStatus.textContent = 'Copy failed. You can paste manually with Ctrl\/Cmd+C.';\n        console.warn('Copy failed', e);\n      } finally {\n        \/\/ Revert button text after a short delay\n        setTimeout(() => {\n          copyGoBtn.classList.remove('bg-green-600','hover:bg-green-700');\n          copyGoBtnText.textContent = 'Copy prompt & open ChatGPT';\n        }, 1800);\n      }\n    }\n\n    \/\/ Events\n    clearSummaryBtn.addEventListener('click', () => {\n      summaryEl.value = '';\n      summaryEl.focus();\n      renderVisiblePrompt();\n      actionStatus.textContent = 'Summary cleared.';\n    });\n\n    summaryEl.addEventListener('input', renderVisiblePrompt);\n    copyGoBtn.addEventListener('click', copyAndOpen);\n\n    \/\/ Initial render\n    renderVisiblePrompt();\n  <\/script>\n  <!-- Copyright 2025 Professor Paul Trowler. All rights reserved. Personal educational use only; no redistribution or resale. -->\n<\/body>\n<\/html>\n\n\n\n\n<p class=\"has-text-align-center has-small-font-size wp-block-paragraph\">Copyright 2025 Prof. Paul Trowler<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ontology &#038; Epistemology Explorer Skip to main content Ontology &amp; Epistemology Explorer This tool helps you articulate (and align) the ontological and epistemological assumptions underpinning your study, and explore how they shape your research questions, design, methods, analysis and claims. 0 Paste your doctoral project summary Paste the short summary you created in Chapter 1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-437","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=437"}],"version-history":[{"count":11,"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/437\/revisions"}],"predecessor-version":[{"id":1040,"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/437\/revisions\/1040"}],"wp:attachment":[{"href":"https:\/\/paultrowler.com\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}